Kizu Stanford, from Wednesbury, stepped in to help a 16-year-old girl who was racially abused and kicked by a man, while on a bus going through West Bromwich.
He wrestled the man to the ground, kicked him in the head and then escorted him off the vehicle during the incident on October 1.
West Midlands Police has taken no action against Mr Stanford although the force says three charges are being brought against a 49-year-old man.
However, Mr Stanford's former employer, Lloyds Banks, has sacked him in the wake of the incident which made national headlines.
BTU, the largest trade union for Lloyds Bank staff, is campaigning to get Mr Stanford reinstated following his sacking, which they called "unjustified".
Mr Stanford, originally from Wolverhampton, said he got on the 79 bus and went to the back, where he sat down and put his headphones on, but became aware of some "disgusting language" taking place.
He then saw a man and woman abusing another woman with no mask on, where they "told her to get back to her country", he said.
"Apparently they had been spitting on her. I thought this isn't right. She then goes to leave on the bus.
"Then the young Asian girl pipes up and says, along the line of, 'why did you tell her to go back to her country'.
"She was then abused by the man and the lady. They are getting off the bus, I am thinking thank good, it is all over, I don't need to hear it anymore.
"Then all of a sudden, he just turns around and kicks her in the face. Something inside of me just snapped.
"I stormed down the bus, threw him on the ground, threatened him, because I wanted to intimidate him.
"I wanted him to basically cease and desist the actions he was doing. I then kicked him in the head as I was getting up, because it is a bit of karma.
"Then I took him off the bus. The woman is trying to attack me, so I am trying to wrestle her off, wrestle him off, and that was that."
Despite him stepping in as a good Samaritan, he was sacked by Lloyds, with the company citing employee's "codes of responsibility".
In response to his sacking, Mr Stanford said: "I did it with the best intentions. I didn't do it to lose my job.
"At the end of the day, they fired me for doing the right thing. They fired me so I didn't bring any repute to the bank.
"But now that they have fired me, they are receiving some ill repute. It has kind of worked to the opposite way."
Mr Stanford, who works at Lloyds Bank in Great Bridge, Tipton, is being supported by BTU, which is the largest trade union for Lloyds staff members.
A spokesman for BTU said: "It is entirely unjustified for Lloyds Bank to dismiss a loyal member of staff simply because he acted to protect a 16-year-old BAME [Black and Minority Ethnic] girl from a violent, racist attack.
"Lloyds Bank should do the right thing and reinstate Kizu Stanford now."
In response to the story, a spokesman for Lloyds Bank said: "We are following our normal internal processes; however it would be inappropriate for the group to comment on an individual's circumstances.
"Our group has a colleague code of responsibility in place to safeguard both our colleagues and customers and we do expect all colleagues to adhere to this.
"Our code is a reference point for every colleague and sets out how we work responsibly and professionally."
Meanwhile, the Crown Prosecution Service has authorised three charges to be brought against a man, 49, from West Bromwich.
A spokesman for the CPS said: "CPS have authorised charges of racially aggravated public order, racially aggravated common assault and common assault against a 49-year-old man from West Bromwich."