The film's original music was composed, orchestrated, and conducted by Craig Armstrong. The soundtrack album reached the top 40 on the US Billboard 200 in 2004 and ranked second on the Top Soundtracks chart. It also achieved gold record status in Australia and Mexico.
- Track listing
- "The Trouble with Love Is" by Kelly Clarkson
- "Here with Me" by Dido
- "Sweetest Goodbye/Sunday Morning" by Maroon 5
- "Turn Me On" by Norah Jones
- "Take Me As I Am" by Wyclef Jean and Sharissa
- "Songbird" by Eva Cassidy
- "Wherever You Will Go" by The Calling
- "Jump (for My Love)" by The Pointer Sisters in US / Girls Aloud in UK
- "Both Sides Now" by Joni Mitchell
- "All You Need Is Love" by Lynden David Hall
- "God Only Knows" by The Beach Boys
- "I'll See It Through" by Texas
- "Too Lost in You" by Sugababes
- "White Christmas" by Otis Redding
The film's director's cut also includes "Joanna" by Scott Walker. The UK release of the soundtrack features additional tracks by Craig Armstrong: "Prime Minister's Love Theme"; "Glasgow Love Theme"; and "Portuguese Love Theme". It also features "Sometimes" performed by Gabrielle. The US disc replaced the Girls Aloud version of "Jump (for My Love)" with the Pointer Sisters' original recording. Additional songs heard in the film include Mariah Carey's "All I Want for Christmas Is You", as performed by actress Olivia Olson, "All Alone on Christmas" and "Smooth" by Santana. Although they were not included on the soundtrack album, the Paul Anka song "Puppy Love" performed by S Club Juniors, and "Bye Bye Baby" by the Bay City Rollers, are also heard in the film.
Also, the UK and US theatrical cut of the film contain two instances of alternate music. In the UK cut, the montage leading up to and continuing through the first part of the office party is set to the song "Too Lost in You", by the UK group Sugababes. In the US version of the film, this song is replaced with "The Trouble With Love Is", performed by American singer Kelly Clarkson. In the UK cut's end credit roll, the second song is a cover of "Jump (for My Love)", performed by Girls Aloud. In the US version, this song is replaced with "Too Lost in You", by Sugababes.