Cliff Lee (2-7) retired 12 straight batters before the Cardinals tagged him for consecutive hits to open the sixth inning. Holliday followed with a shot to right for his 22nd homer of the season.
Lee has allowed eight homers over his last three home starts and 19 overall on the season. Lee gave up 18 homers in 232 2-3 innings last season.
He remained winless at home this season.
The World Series champion Cardinals are in the thick of the wild-card hunt and Westbrook gave them a needed 7 2-3 strong innings. Westbrook (12-8) allowed four hits, walked two and struck out three.
Jason Motte struck out two in a scoreless ninth for his 26th save.
Staked to a 1-0 lead, Lee was cruising and had his first home victory since September 5, 2011 in sight until Holliday took him deep. Carlos Beltran added an RBI single in the eighth to make it 4-1 and chase the lefty. Lee allowed 10 hits, walked none and struck out four in 7-plus innings.
He left two runners stranded in the first inning and stranded another runner at third in the second.
Lee, a 17-game winner last season, was expected to form a trio of aces of Roy Halladay and Cole Hamels that would keep the Phillies in contention for a sixth straight playoff spot.
It hasn't worked out that way and the Phillies have disappointed.
The Cardinals are trying to make a run at defending at their championship and Westbrook has helped keep their playoff dreams afloat. He's showed his durability with 12 straight starts of at least six innings, and matched his win total from 2011 (12-9).
Westbrook left after allowing a two-out single in the eighth. Marc Rzepczynski retired Chase Utley on a pop up to end the inning.
Westbrook allowed his only run in the first inning on Ryan Howard's fielder's choice. Utley's hard slide into second rattled shortstop Rafael Furcal on his throw to get Howard, allowing Dom Brown to score from third.
The Phillies never had a runner reach third after the first inning.
Holliday gave Westbrook all the run support he needed with a homer that barely cleared the right field wall and gave him 79 RBIs. Beltran leads the National League with 81 RBIs.NOTES: The Phillies honored starts of their past, including Bob Boone, Larry Bowa and Mike Schmidt. Tim McCarver threw the first pitch to Steve
Carlton. Brent Musberger was the guest umpire. Musberger was a minor league umpire for McCarver's first professional game for Waterloo in 1959. ... 3B Placido Polanco, on the disabled list since July with lower back inflammation, will travel with the team on next week's road trip and will likely need a rehab assignment before he returns to the Phillies. ... Cardinals 2B Ryan Jackson made his major league debut. ... Philadelphia sends Vance Worley (6-7) to the mound against Lance Lynn (13-5) in Sunday's finale.