Daniel Nava had four hits as Buchholz walked four batters, struck out three and allowed only one unearned run in his second start since coming off the disabled list.
Tampa Bay's Joel Peralta gave up a solo home run to Ryan Doumit in the eighth inning and a three-run drive to Josmil Pinto as the Rays stumbled again in the AL wild-card race with a 6-4 loss to the Minnesota Twins.
The Rays remain tied with Texas for the two AL wild-card spots, a half-game ahead of Cleveland.
Nick Swisher homered from both sides of the plate for the 13th time and Asdrubal Cabrera hit a three-run homer as the Cleveland Indians beat the Chicago White Sox 7-1 to pull within a half-game of Tampa Bay and Texas in the AL wild-card race.
In other games, the Detroit Tigers edged the Kansas City Royals 3-2, the Oakland Athletics defeated the Texas Rangers 5-1, the Los Angeles Angels edged the Houston Astros 2-1 and the Baltimore Orioles were 3-1 winners over the Toronto Blue Jays.
At St. Louis, Yadier Molina broke out of a slump with a home run and three singles as Shelby Miller and the Cardinals remained tied for first place in the NL Central by beating the Seattle Mariners 12-2 in an interleague matchup.
Matt Adams also homered as St. Louis won for the seventh time in nine games and kept pace with Pittsburgh. Both teams are 87-62 with 13 games remaining.
In the NL, Milwaukee's Sean Halton hit a solo homer with one out in the bottom of the ninth inning to lift the Milwaukee Brewers to a 6-5 comeback victory over the Cincinnati Reds.
Wilson Ramos had four hits and five RBIs for Washington and Jordan Zimmermann pitched seven innings for his NL-best 18th win as the Nationals kept up their late playoff push by routing the Philadelphia Phillies 11-2.
In other NL games, the San Francisco Giants beat the Los Angeles Dodgers 4-2, the Arizona Diamondbacks defeated the Colorado Rockies 8-2, the San Diego Padres blanked the Atlanta Braves 4-0 and the New York Mets beat the Florida Marlins in the 12th inning.