Michael McKenry hit a three-run homer and Andrew McCutchen and Casey McGehee also went deep for Pittsburgh.
Utley missed the first 76 games this year because of a chronic problem in both knees. He had three hits, but it wasn't enough on a night the Phillies got more encouraging news about their injured stars.
Former NL MVP Ryan Howard will start a rehab stint on Thursday night and two-time Cy Young winner Roy Halladay is making progress and could throw off a bullpen mound next week.
Until they're all healthy, it won't be easy for the five-time defending NL East champions.
James McDonald (7-3) allowed four runs and six hits in 5 2-3 innings. It was the first time in 15 starts this season he allowed more than three runs, and his ERA climbed from 2.19 to 2.44.
McKenry drove in a career-best four runs and the Pirates feasted on Philadelphia's maligned bullpen in their highest-scoring game of the season.
Reliever Raul Valdes (2-1) started for the Phillies, who were out of starters because of a doubleheader Sunday. He allowed three runs and two hits in two innings in his second career start. Joe Savery came in and gave up five runs in 2 2-3 innings.
The Phillies took a 2-0 lead in the first when Utley and Carlos Ruiz hit back-to-back homers.
Utley drove a 2-2 pitch way out to right-center. He got his third standing ovation in a 15-minute span and came out for a curtain call after circling the bases and getting mobbed by teammates in dugout.
Ruiz then hit a drive to left for his 11th homer. That had another sellout crowd at Citizens Bank Park buzzing. It didn't last.
McKenry connected off Valdes in the second to put the Pirates ahead 3-2. McGehee homered off Savery in the fourth and McDonald helped himself with a two-out RBI single to extend the lead to 5-2.
Neil Walker, Jose Tabata and McKenry had RBI singles in the fifth to put the Pirates up 8-2.
But the Phillies rallied against McDonald in the sixth. Hunter Pence had an RBI double and Shane Victorino singled him in to cut it to 8-4.
Jimmy Rollins lined an RBI triple off Jared Hughes with no outs in the seventh. Tony Watson came in and Juan Pierre singled for his 500th career RBI. Utley followed with a single and Ruiz lined an RBI single to right field that Tabata appeared to lose in the lights, cutting the deficit to 8-7.
Brad Lincoln entered and preserved the lead. He struck out Pence, retired Victorino on a fly ball and fanned pinch-hitter Jim Thome.
McCutchen hit a two-run drive off Chad Qualls in the eighth, sending many fans home.
The Phillies entered with a 4.41 bullpen ERA that was 25th in the majors.
Utley sat out the first 46 games last year before returning to have the least productive season in his career. He batted .259 with 11 homers and 44 RBIs. The 33-year-old second baseman has a condition called bilateral chondromalacia that can't be fixed surgically.
Howard tore his left Achilles' tendon making the final out in the last game of 2011 against St. Louis in Game 5 of the NL division series.
Halladay has been out since May 29 because of a strained latissimus dorsi muscle on the right side of his back.
NOTES: Phillies manager Charlie Manuel said he won't start Utley on Thursday afternoon and plans to give him a day off every three games. ... INF Michael Martinez was optioned to Triple-A to make room for Utley. ... Phillies RHP Mike Stutes had shoulder surgery Tuesday and likely will miss the rest of the season. ... The Pirates won for just the third time in the last 19 games in Philadelphia. ... McCutchen leads the majors with a .456 average (31 for 68) against lefties. ... The Pirates had a season-high 14 hits. ... The Phillies had their 260th straight sellout, counting postseason play. ... McKenry is 9 for 14 with two homers and six RBIs in this series. ... A.J. Burnett (8-2, 3.24) tries to win his eighth straight start for the Pirates on Thursday afternoon. Kyle Kendrick (2-7, 5.24) goes for the Phillies.