Steven Russell (Jim Carrey) é um policial texano que decide assumir sua homossexualidade. Porém logo descobre que, para ser gay, é preciso ter muito dinheiro. Ele passa a realizar diversas trapaças e fraudes, de forma a manter seu alto padrão de vida. Ao ser preso, Steven é levado a uma penitenciária estadual. Lá conhece Phillip Morris (Ewan McGregor), seu companheiro de cela, por quem se apaixona. A partir de então Steven passa a fugir e ser preso diversas vezes, sempre agindo em nome de seu amor.