Boston's Jake Peavy allowed three or fewer runs for the sixth time in seven starts, giving up three runs on four hits with four walks and five strikeouts.
The Reds took a 3-2 lead in the seventh when Roger Bernadina bounced a slow groundout to second against reliever Chris Capuano with the bases loaded.
In the bottom half, left fielder Chris Heisey made a nice inning-ending running catch on Shane Victorino's liner into the gap with the tying run on second.
Boston tied it with a pair of runs in the sixth on a run-scoring single by Ortiz and RBI double by Napoli. It could have been worse for Leake, but Grady Sizemore bounced to second with runners on second and third and, after an intentional walk, Bradley Jr. hit an inning-ending grounder.
ROYALS 8, PADRES 0: In San Diego, James Shields scattered seven hits over seven innings and Eric Hosmer drove in a season-high four runs.
The Royals scored three times in the first and that was plenty for Shields (4-3). He struck out four, walked two and threw 118 pitches.
Shields won his fourth straight road start of the season. Since 2013, he is 14-4 in 24 road starts with a 2.00 ERA.
Andrew Cashner (2-5) took the loss.
MARINERS 6-0, A'S 4-2: In Oakland, Justin Smoak hit an RBI single with two outs in the 10th inning to help Seattle win for the 10th time in 12 games, wining their doubleheader opener.
Corey Hart and Mike Zunino hit solo homers off Dan Straily for the Mariners, who overcame a shaky start by ace Felix Hernandez to win four straight series for the first time since August 2012.
In the nightcap, fill-in starter Drew Pomeranz pitched five scoreless innings for his second win in his past 20 starts and Oakland salvaged a split of the doubleheader with a 2-0 win.
INDIANS 4, TWINS 3: In Cleveland, Mike Aviles's two-out single in the ninth inning gave Cleveland the win.
Asdrubal Cabrera led off the inning with a double against Casey Fien (3-1). The ball was hit over the head of infielder Eduardo Escobar, who misjudged the ball that landed on the warning track.
After Lonnie Chisenhall's sacrifice bunt, Yan Gomes grounded out. Aviles hit a hard ground ball on a 1-1 pitch into center field for Cleveland's first walk-off win of the season.
Cleveland's players mobbed Aviles after he crossed first base. The Indians had 11 walk-off wins last season.
DIAMONDBACKS 3, BREWERS 2: In Milwaukee, Paul Goldschmidt hit a two-run homer for the second straight game to back Bronson Arroyo.
Goldschmidt hit an 0-1 pitch for his seventh homer of the year after Martin Prado led off the third with a single. Goldschmidt went 7 for 15 in a three-game-series.
Arizona took two of three from the team that entered Wednesday an NL-best 22-12.
Arroyo (3-2) allowed an unearned run and five hits in seven innings, his third straight outing holding an opponent to no more than two runs.
NATIONALS 3, DODGERS 2: In Washington, D.C., Stephen Strasburg recovered from another rough first inning to pitch into the eighth and Wilson Ramos produced a go-ahead sacrifice fly in his first game since opening day.
After waiting through a rain delay of more than 1Â½ hours to throw his first pitch, Strasburg (3-2) did what he's done all season: struggled to get the first three outs, then been fairly dominant. This time, he gave up four consecutive singles, including run-scoring hits by Adrian Gonzalez and Yasiel Puig, during a 28-pitch first as Los Angeles went ahead 2-0.
Then Strasburg got into a groove, while his teammates scored three runs off former Nationals pitcher Dan Haren (4-1).
MARLINS 1, METS 0: In Miami, Marcell Ozuna hit a sacrifice fly with one out in the ninth inning, and the Miami Marlins completed a three-game sweep.
Miami's Tom Koehler pitched eight innings to match a career high, and for the second consecutive start he didn't allow a run. The right-hander gave up two hits and one walk, lowering his ERA to 1.99.
Steve Cishek (3-1) pitched a perfect ninth to complete a two-hitter. The Mets hit .157 in the series, scored three runs and were shut out in the final 23 innings.
PIRATES 4, GIANTS 3: In Pittsburgh, Gerrit Cole won for the first time in nearly a month, and the Pittsburgh Pirates earned their second straight win over the Giants.
Cole (3-2) beat Tim Lincecum (2-2) for the second time in his 11-month major league career, allowing three runs and seven hits in eight innings with seven strikeouts and a walk. Cole had been 0-2 in four starts since winning his first two outings.
Mark Melancon worked a perfect ninth for his second save in three chances. Centerfielder Andrew McCutchen made a diving catch of Brandon Crawford's soft liner to left-center for the second out.
Ike Davis had three hits for the Pirates. Brandon Belt hit his ninth home run and drove in all three runs for San Francisco.