Forsaken
(2016)

After his father is stabbed by Frank Tillman (Aaron Poole), the psychotic hired gun of ruthless businessman James McCurdy (Brian Cox), John Henry Clayton (Kiefer Sutherland) realizes he can no longer turn the other cheek and must pick up his guns again, against the strong objections of his father, Reverend William Clayton (Donald Sutherland).

John proceeds to the town's tavern and kills Frank and all his men. Going outside, he is confronted by Gentleman Dave Turner (Michael Wincott) who has a friendly understanding with John, and had no part in his father's attack. When Turner makes it clear that he cannot leave without a duel (as duty bound to his employer), John tricks him into delaying the fight, and sneaks away so he can kill McCurdy. In doing so, Turner is no longer employed, thus sparing them both from a gun battle and death.

John goes to his father, who has regained consciousness and tells him he must leave for a while as other gunfighters will come looking to challenge him. William implores him not to be gone long and watches in sadness as his son leaves.

Dave Turner narrates that it is unsure what happened to John after that. Some said he drifted from town to town, under a different name. He never saw Mary Alice (Demi Moore) again and when she died several years later, he did not attend her funeral. Yet, the next day a red ribbon (a piece she had given John years back) was tied to her gravestone. John would make sporadic visits back home to visit his father. After William died, John was never heard from again.

Thanks Spectre!

IMDB