The Phillies snapped a nine-game losing streak with a 2-1 victory at Citizens Bank Park.
Ryan Howard hit a two-run home run in the sixth inning off Bud Norris, while a strong performance from the pitching staff ended the Phillies’ worst run since 1999.
Elsewhere, the day after the Chicago Cubs beat Cleveland 17-0, the Indians got some revenge with a 4-3 victory.
Kennys Vargas came through with a walk-off solo blast with two outs in the ninth inning to lift the Minnesota Twins to a 2-1 win over the St Louis Cardinals.
The San Diego Padres won their first game under new interim manager Pat Murphy, defeating the Oakland Athletics 3-1 to split the two-game series, while the Kansas City Royals were again too strong for the Milwaukee Brewers, winning 3-2.
A five-run sixth inning did much of the damage as the Los Angeles Angels saw off the Arizona Diamondbacks 7-1, while the Toronto Blue Jays downed the New York Mets by the same score – with RA Dickey pitching into the eighth inning against his former team.
The Houston Astros became the first American League to reach the 40-win mark as they defeated the Colorado Rockies 8-4 – a fifth consecutive success – while the New York Yankees beat the Miami Marlins 9-4.
The Tampa Bay Rays saw off the Washington Nationals 5-3 and the Boston Red Sox downed the Atlanta Braves 5-2, while the Pittsburgh Pirates edged the Chicago White Sox 3-2.
Elsewhere, the San Francisco Giants defeated the Seattle Mariners 7-0, the Los Angeles Dodgers edged the Texas Rangers 1-0, while rain forced the postponement of the series finale between the Detroit Tigers and the Cincinnati Reds at Great American Ball Park.