Josh Tomlin (8-4) earned the win, bouncing back from three consecutive rocky starts. He gave up six hits but no walks over 6 2-3 innings, striking out five.
Vinnie Pestano struck out Michael McKenry with two on to end the seventh, then worked a perfect eighth. Tony Sipp pitched the ninth.
Santana broke a 2 for 26 slump by hitting his eighth homer of the season. With two outs in the fourth, he connected for a solo shot off Kevin Correia (8-6) that made it 2-0. He added a bases-loaded RBI single in a three-run eighth.
Pittsburgh had a four-game winning streak snapped and failed to move three games over .500 for the first time since being 40-37 on July 1, 1999.
Travis Hafner returned to Cleveland's lineup and had an RBI double in the eighth. Manager Manny Acta argued for a three-run homer and the umpires used TV replay, which showed the ball hitting the yellow line atop the right-field wall. It must go over the line to be a homer.
Hafner had been out since May 18 with a strained right oblique muscle. Cleveland went 10-18 without him, including 5-11 in June.
Cleveland scored an unearned run in an odd third inning, when Indians first baseman Matt LaPorta left with what the team announced as a right lower leg injury.
LaPorta was hurt when caught in a rundown between second and third base. He was helped off the field by third-base coach Steve Smith and assistant trainer Rick Jameyson.
LaPorta reached on a bizarre play to open the third. Pirates shortstop Ronny Cedeno leaped to catch his line drive, but the ball bounced off his glove to second baseman Neil Walker, whose low throw skipped past first baseman Lyle Overbay for an error.
Orlando Cabrera followed with an easy grounder to Cedeno and LaPorta tried to go to third.
In the Pirates' sixth, Cedeno hit a leadoff double and scored on a one-out single by Xavier Paul, who was out trying for second.
Correia dropped to 7-2 on the road, allowing one earned run and four hits over 5 2-3 innings. Chris Resop bailed him out of further damage by coming on with the bases loaded in the sixth and getting Adam Everett to ground into a force out.
Notes: Pittsburgh leads the series, 15-13. It was the first time the teams met with both above .500. ... The Pirates' first appearance in Cleveland since 2006 drew 36,549 fans. ... Correia has allowed two earned runs or fewer in eight of nine road outings ... OF Travis Buck was optioned to Triple-A Columbus to clear roster space for Hafner, who hit .345 with 22 RBIs in 32 games before being hurt. ... Valerie Bertinelli, star of the TV show "Hot In Cleveland" delivered the ceremonial first pitch in a unique way to Indians first-base coach Sandy Alomar Jr. Wearing an Indians jersey, she took a big windup, then ran the ball to home plate and placed it into Alomar's glove. ... Cleveland signed six more draft picks, including third-round choice RHP Jake Sisco. ... The Indians are 4-0 in interleague games this season. They swept three games from Cincinnati in May.