What is the best way to deal with cheats?
If you're playing in any kind of organised play, there should normally be a store owner, tournament organiser or some kind of official you can report this to. This is normally the best approach as you don't then accuse the person directly and it's then in the hands of the official to investigate and discover what has happened. If you then report over time it builds up a profile of this persons continued actions (this is based on my experience playing competitive Magic the Gathering) 
I'd even consider reporting it if it was casual games if you're playing in a store. Letting the owner know someone is coming in and cheating others let's them become aware of the sitation.

To ensure you can accuratly report things I'd make note of things like life totals and just being aware of the sitation. The moment something happens you should ask the person to stop the game, and go report the sitation.

If you're just talking about casual games, I'd suggest you just stop playing with this person. "Punishing" them by refusing to play games with them will teach them that if they want to ruin run for other people then you aren't going to let them play in your group at all. I'd try and talk to them and explain that it's meant to be fun and by cheating you take the fun away from other people and only add to their own experience.