Red Rock West
(1993)

Short version:
Everyone except Michael (Nicolas Cage) is evil, and only he gets away.

Long version:
It is revealed that Suzanne (Lara Flynn Boyle) is the one who shot Kurt (the guy hit by Michael's car, and whom Michael then brings to the hospital), because Kurt wanted to blackmail her. Because of a WANTED paper found in his car, the deputies find out that their sheriff (J.T. Walsch) and his wife both used false names and are wanted for grand theft and embezzlement of 1.9 million $. The deputies put their sheriff in jail.

Contract killer "Lyle from Dallas" (Dennis Hopper) catches Michael and Suzanne, and Suzanne tells him that Michael has money hidden somewhere she doesn't know. Lyle frees the sheriff from jail, and drives to the cemetary with Michael and Suzanne to get the rest of the money, and presumably to kill them too. In a nightly showdown, the sheriff is killed by Lyle (Dennis Hopper) who is then killed by Suzanne. She and Michael escape in a passing freight train. She wants to kill him too, but her gun is empty. Michael realizes she is evil, and empties the bag of money outside, and throws Suzanne from the train, in time for police to catch her. Michael is left in the train, and finds one last bundle of money inside, and puts it into his jacket.

Thanks Tilman!