Machine Gun Preacher vertelt het waargebeurde verhaal van voormalig drugsdealer Sam Childers (Gerard Butler) die na een leven vol verslaving en criminaliteit het roer omgooit om zich in te zetten voor Soedanese oorlogskinderen. Sam besluit om zijn leven drastisch om te gooien nadat hij voor de zoveelste keer uit de gevangenis komt.
Zijn vrouw Lynn (Michelle Monaghan) is tijdens zijn celstraf bekeert tot het Christendom en Sam volgt bij terugkomst. Beide komen tot inzicht en willen iets goeds doen met hun leven. Sam vertrekt naar Soedan en begint zich daar in te zetten voor de oorlogskinderen. Samen met Lynn probeert hij de kinderen te redden uit de wrede wereld van een vernietigende oorlog.