Did I handle this situation correctly? Could I have done better?

I saw a girl on the bus today being bothered by another man. He kept trying to sit closer to her and she kept trying to get away from him. She and I happened to get off at the same stop and headed in the same direction for about 1.5 miles. The ENTIRE TIME this guy kept trying to talk to her and she kept trying to lose him. Eventually he yanked her arm and she looked very scared and was trembling a little. I approached them and asked if there was anything I could do to help. He said that was his girlfriend and she was overreacting. She kept shaking her head behind his back. I blatantly told him he needed to back off as she seems uncomfortable. He told me to mind my own business, got in my face and tried to shove me. I got pissed and punched him and he ran away with a broken nose and called the cops. When they arrived, I explained what happened. When the police questioned the girl, she just kept saying she did not want to get him in trouble. She had marks on her arm from where he had grabbed her. He ended up getting arrested. When the cops left, she screamed at me saying I just ruined the other guy's life.
Updates
+1 y
GaG, I put this under girl's behavior because I wanted to know if I did something wrong from a girl's perspective. Please do not move this to another category.
Did I handle this situation correctly? Could I have done better?
Post Opinion