Threads still going without a solution, so I'll weigh in.
Firstly, it's not right to say you did nothing wrong, because you punched a girl in the face, but it wasn't entirely your fault. The girl was physically harming you and if it was enough to make you punch her in the face, then you obviously must have been in a lot of pain. So, if confronted about it, say that she acted immaturely in the situation by grabbing and trying to hurt you instead of asking; then you acted immaturely by hitting her instead of controlling the situation.
Secondly, you and your woman. At first this wasn't between you and her. This was about her standing up for her friend. The correct way to handle it would have been to apologise to the girl, which you did, and then explain to your girlfriend how it got out of hand and you were in the wrong. You can't do anything more than apologise, so if that's not enough for her, she's not worth your time.
...Yet no, no one ever takes the good way. You overreacted and turned this into your and her relationship. She'd understand if you'd explain, but if she didn't understand then things wont work between you. Not only that, but you went off in a big little-boy sulk and started getting aggressive and irrational. Calling a girl up crying is not the way to make her see that you care. Then using suicide as a threat is not the way. You're just showing immaturity.
This problem escalated from a minor disagreement into a major life problem. You and your girlfriend have problems, that's clear. Try and work past them if you can, but if either of you can't let it go and keep bringing up 'that one time you punched my best friend in the face,' then it's not a relationship worth sticking around for.
Trust me, I've been there.