I was in the
exact same situation. And the worst thing is I knew about it decided to go along with it for a month and pretend I didn't know to see if it was true. Turns out it was.
After a month I couldn't take it anymore and just broke up with her. You have to understand, if you keep going on and stay in a relationship with her one day she is going to end it with you. And imagine if you end up hitting 30 and having a little baby boy. You're going to be thinking like Rick Grimes: "Is this my best friends' baby or my baby?".
How old are you? ~15? There are other girls in the world bro. Trust me, if there was a way I could avoid breaking up with my girlfriend I would have done it straight away, but it's inevitable. I was with my girlfriend for.. what, a year and a half? It
killed me to break up with her, but I still did it because if you don't, the guilt is going to slowly kill you. Either you break up with her with some dignity or you let her break up and tell you that she's found another guy and that she's been with him for a long time.
tl;dr
Break up with her, she ain't worth it.
Now... for your best friend.
.
But, in seriousness, you better slap your "best friend" and leave him in the dust, because he ain't worth it either. If he was truly your best friend he'd at least tell you before moving in for the "kill", if you know what I mean. Maybe invite him to your house and bust out your Nerf machinegun.