Plot:
Hal Larson (Jack Black) is a superficial man whose fixation on the physical beauty of women gets in the way of seeing them for their inner beauty. Hal and his equally shallow friend, Mauricio Wilson (Jason Alexander), spend their nights obnoxiously hitting on beautiful women at nightclubs. Hal's work life is steady, but he is dismayed after being passed over for a long-sought promotion.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaDgCqu7kKRhcTNOt3D1flUiZedc7zJZURu9bEJ60CUuUBTLTEntNklf22_THWnQCmcFQZxvt0IdLcfNeTOdNQOoMBEuplHFjRtKcJJ1imw_Q0PGj_Xf70EUnVFm_ZMwuGc1IEVhiylIYa/s1600/shallow_hal_ver3_xlg.jpg)
Mauricio becomes increasingly worried about Hal's new taste in women and convinces Robbins to give him the trigger phrase to undo the hypnosis. Mauricio phones Hal while Hal is on a date with Rosemary and says the trigger phrase, "Shallow Hal wants a gal", which serves to break Hal's hypnosis. Mauricio confesses to Hal the truth about Robbins' hypnotherapy, but Hal does not believe this until he runs into Katrina (Brooke Burns), a woman who initially appeared beautiful to him due to her internal beauty, but whom Hal now sees in her true, unattractive state.
Hal begins to avoid Rosemary, who in turn becomes melancholic without him around. Distraught that he has not been seeing the "real" Rosemary, Hal accepts a dinner invitation from his neighbour, Jill, with whom he once had an unsuccessful date. The two dine together and Jill tells Hal that she has observed him overcoming his shallow nature and that she is interested in dating him now.
However, Hal realizes that his true feelings are for Rosemary, who has coincidentally arrived at the same restaurant with her family and sees Hal and Jill seated together. Assuming the worst, Rosemary leaves in tears. Not recognizing Rosemary, Hal walks right by her on his way to the pay phone, ironically to reaffirm her of his feelings. Confused and distraught, Rosemary calls Hal a "psycho" over the phone and effectively breaks up with him.
Five days later, Steve chastises Hal and coldly informs him that Rosemary’s Peace Corps partner wants to be in a relationship with her again. Hal attempts to find Rosemary, but instead encounters a young patient named Cadence at the hospital where Rosemary volunteers. Previously, due to Robbins’ hypnosis, Hal saw Cadence as a perfect little girl; he now sees that there are severe burns all over Cadence’s face. Hal then realizes that he doesn’t need hypnosis to see people’s true inner beauty.
Rosemary decides to leave the country to rejoin the Peace Corps. Hal, during his search for Rosemary, finds that Mauricio had his own reason for stopping Hal's hypnosis: He has a vestigial tail, his shame over which has prevented him from ever getting close to a woman. Mauricio confesses that he was jealous of Hal's happiness and is afraid of starting relationships with women.
Hal makes up with Mauricio and decides to try to reconcile with Rosemary. Hal arrives at the Shanahan mansion, where a bon voyage party for Rosemary is underway. Rosemary initially rebuffs Hal's presence, but then accepts his apology when Hal professes his love for her. Rosemary then informs Hal that she is still leaving on her Peace Corps mission, at which point Hal says that he is coming too, having just been sworn-in to the Peace Corps.
Hal and Rosemary reconcile and are cheered by the crowd as they kiss. He tries to carry her bridal-style to the car, but finds he can’t lift her, so she carries him to the car instead. As they drive off, Mauricio meets a woman who loves dogs and the two walk off together as he wags his "tail".