Fletcher Reede (Jim Carrey), um advogado, se vê em uma situação delicada quando Max Reede (Justin Cooper), seu filho, ao soprar as velas do bolo pede que seu pai não minta por um dia. O desejo é atendido, impedindo Fletcher de falar qualquer tipo de mentira, mas se as pessoas falam uma mentira ou outra, para um advogado mentir faz parte do cotidiano. Fletcher não entende o que está acontecendo e se envolve em várias confusões, principalmente quando precisa defender no tribunal uma mulher traidora (Jennifer Tilly) que tem que se passar por santa para tirar os bens do rico marido.