How do I win him back?

Hello! Please, be patient and read my story.

I've been in a 7-year relationship with a man who, two months ago, cheated on me for the first time with a woman who only wants friendship from him. She knows about me but continues to ask him for favors (like giving her rides). They didn't have sex, as she has serious health issues preventing her from having sexual relations ( I know this for sure). We've talked extensively, and he's explained feeling confused about her. He's also become very apathetic and almost depressed. He tells me he still loves me and helps me with a terrible situation happening in my family, as he always does. But I feel he’s distant. He maintains contact with her and does these favors for her (basically acting as her occasional chauffeur). We still have sex, and strangely, it's better than ever.
I don't want to lose him. If you're going to tell me to leave him, that's not what I'm looking for. I want to ask those with more life experience, especially men, how can I win him back? I don't give up on people easily.
I'll mention that recently, before he cheated, I wasn't good to him. I asked him to make more money and threatened to leave if he didn't provide for me. He suffered every time I mentioned leaving. Basically all we talked about were money. Also I became a couch potato and we hardly had sex. It wasn't until he cheated, and I realized I was losing him, that I understood how much I still love him. He found affection in other places. And now I want him back so much…
How do I win him back?
Post Opinion