Hal Larson (Jack Black) è un uomo superficiale con un cuore d’oro la cui fissazione sulla bellezza fisica delle donne ostacola la loro bellezza interiore. Hal e il suo amico altrettanto superficiale, Mauricio (Jason Alexander), trascorrono le loro notti in modo odioso colpendo donne belle e sexy nei nightclub e per lo più finiscono per essere respinti. La vita lavorativa di Hal è costante, ma è costernato dopo essere stato passato per una promozione a lungo ricercata. La sua vita sentimentale è inesistente, come si vede quando cerca di chiedere a Jill (Susan Ward), il suo vicino attraente, per un appuntamento., Jill non è interessato come lei trova Hal troppo superficiale e generalmente non è attratto da lui.

Hal rimane intrappolato in un ascensore con il life coach Tony Robbins. In attesa che l’ascensore venga riparato, Robbins simpatizza con la delusione di Hal, ma cerca di capire le sue idee sulle donne. Ipnotizza Hal nel vedere solo la bellezza interiore di una persona. Hal non si rende conto di essere stato ipnotizzato e in seguito incontra Rosemary (Gwyneth Paltrow), figlia del presidente della società in cui è impiegato. Rosemary è morbosamente obesa, ma Hal la vede come una bionda trofeo snella e bella., Egli è immediatamente colpito da lei. Abituata ad essere trascurata a causa del suo aspetto, Rosemary inizialmente interpreta l’interesse di Hal come una presa in giro, ma inizia a rendersi conto che i suoi sentimenti per lei sono sinceri. Cominciano ad oggi, che include un giro in bicicletta con l’amico di Hal Walt (Rene Kirby), che ha la spina bifida.

Mauricio, preoccupato per il nuovo gusto di Hal nelle donne, convince Robbins a dargli la frase scatenante per annullare l’ipnosi, che è “Shallow Hal wants a gal”. Mentre è in un appuntamento in un ristorante, Rosemary dice a Hal che le è stato chiesto dai Peace Corps di andare in missione di 14 mesi a Kiribati., Mauricio telefona a Hal e dice la frase scatenante, rompendo l’ipnosi di Hal. Mauricio confessa a Hal la verità sull’ipnoterapia di Robbins, ma Hal non ci crede finché non si imbatte in una donna che inizialmente gli è apparsa bella ma che Hal ora vede nel suo vero stato fisicamente poco attraente.

Hal inizia ad evitare Rosemary, che diventa depresso senza di lui in giro. Sconvolto dal fatto che non stava vedendo il “vero” Rosemary, Hal accetta un invito a cena da Jill., I due cenare insieme e Jill dice Hal che lei lo ha osservato superare la sua natura superficiale ed è interessato a incontri lui ora.

Hal si rende conto dei suoi veri sentimenti per Rosemary che, per coincidenza, è arrivata allo stesso ristorante con la sua famiglia e vede Hal e Jill seduti insieme. Supponendo il peggio, il rosmarino lascia in lacrime. Non riconoscendo Rosemary, Hal cammina proprio da lei per il suo modo di un telefono pubblico per chiamarla e rassicurarla dei suoi sentimenti. Confuso e sconvolto, Rosemary chiama Hal uno “psicopatico” al telefono e rompe efficacemente con lui.,

Cinque giorni dopo, Steve informa Hal che il partner di Rosemary Peace Corps, Ralph, vuole avere di nuovo una relazione con lei. Hal tenta di trovare Rosemary, ma invece incontra un giovane paziente di nome Cadence presso l’ospedale dove Rosemary volontari. In precedenza, a causa dell’ipnosi di Robbins, Hal vedeva Cadence come una bambina perfetta; ora vede che ci sono gravi ustioni su tutto il viso di Cadence. Ispirato da Cadence, Hal cambia le sue opinioni sulle apparenze fisiche delle persone in generale.,

Hal, durante la sua ricerca di Rosemary, scopre che Mauricio aveva la sua ragione per fermare l’ipnosi di Hal: ha una coda vestigiale inoperabile, che gli ha impedito di avvicinarsi a una donna. Mauricio confessa di essere invidioso della felicità di Hal e ha paura di iniziare una relazione con una donna. Hal convince Mauricio ad accettare la sua anomalia, con fiducia.

Hal fa pace con Mauricio e decide di riconciliarsi con Rosemary. Si dirige all’ufficio di reclutamento dei Peace Corps e affronta Ralph, credendo che lui e Rosemary siano tornati insieme., Ralph informa Hal che lui e Rosemary non sono insieme e che i genitori di Rosemary le stanno organizzando una festa d’addio (e Ralph non è stato invitato). Hal, Mauricio, Ralph e l’amico di Ralph Li’Iboy arrivano a casa dei genitori di Rosemary. Rosemary inizialmente rifiuta la presenza di Hal, ma poi accetta le sue scuse quando Hal professa il suo amore per lei. Rosemary informa Hal che sta ancora partendo per la sua missione Peace Corps. Hal dice che verrà anche lui, essendo appena stato giurato nel Corpo di Pace da Li’Iboy.

Hal e Rosemary si riconciliano, acclamati dalla folla mentre si baciano., Cerca di portare il suo stile da sposa alla macchina, ma scopre che non può sollevarla. Commossa dal suo gesto e dal suo sforzo, lei lo porta trionfalmente. Mentre si allontanano, Mauricio incontra una donna che ama i cani e i due camminano insieme mentre agita la sua “coda”.