La historia es así; Abby (Katherine Heigl) es una exitosa productora de un matinal de televisión local, perfeccionista, controladora, moralista. Es muy guapa, pero no le va bien con los hombres, todos la rechazan, pero ella no se desanima: está segura de que, algún día, conocerá al hombre de sus sueños, ese que cumpla con al menos 8 de los 10 requerimientos de su lista del hombre de su vida.
Por otro lado, está Mike (Gerard Butler), conductor de un programa de televisión nocturna que se llama “The ugly truth”, donde se dedica a hablar con mujeres y hacerlas ver que los hombres son simples y que el príncipe de sus sueños nunca llegará. Obviamente, es contratado para el matinal, a Abby le molesta porque el tipo le desordena todo su esquema y comienza una lucha por quién tiene la razón; más cuando ella conoce a Colin, su vecino perfecto. Mike la desafía: si él logra que Colin le pida una cita, ella debe admitir que la cruda verdad es la verdad de las verdades.