Making his ninth career start, Singer (2-4) lost his no-hit bid when Austin Hedges slapped a single to right field with two outs in the eighth inning. The 24-year-old right-hander quickly settled himself and fanned Delino DeShields for his eighth strikeout over eight scoreless innings.
The strong performance for Singer was in stark contrast to his previous four starts, during which he posted an 0-3 record and allowed 15 runs on 25 hits with four homers.
Cubs 8, Reds 5
Cameron Maybin and Anthony Rizzo each had two hits and an RBI, and Kris Bryant added a pair of hits as Chicago won for the third time in four games. Jeremy Jeffress worked a scoreless ninth for his seventh save in eight opportunities.
The Cubs extended their lead over the St. Louis Cardinals in the National League Central to three games. The fourth-place Reds fell to 19-25 with their third loss in four games.
A three-run sixth inning highlighted by Carson Kelly's two-run home run helped Arizona avoid a series sweep with a win over Los Angeles in Phoenix. Daulton Varsho added a run-scoring triple in the inning, and the Diamondbacks ended a seven-game losing streak to the Dodgers and stopped a string of five straight losses overall.
Kelly went deep to left field off Tony Gonsolin (0-1), as the Dodgers used three relievers after an injury to starter Dustin May. Riley Smith, in just his third major league appearance, got his first big league win with 3 1/3 scoreless innings in relief of starter Madison Bumgarner.
The Dodgers lineup card drew double takes as Mookie Betts opened the game at second base, the first time he has appeared there in two years and second time since 2014, his first season in the majors.
Cardinals 12, Tigers 2 (Game 1)
Rangel Ravelo drove in three runs and scored twice as St. Louis hit five home runs and rolled to a 12-2 victory over visiting Detroit in the first half of a doubleheader.
Ravelo hit a two-run homer, while Yadier Molina, Tyler O'Neil and Lane Thomas also added two-run shots for the Cardinals (19-17), who won for the fifth time in their last seven games. Jack Flaherty (3-1) allowed two runs on four hits in five innings.
The Tigers (19-23) were thumped again after losing 19-0 to the Milwaukee Brewers on Wednesday. Tarik Skubal (1-2) retired just six batters and took the loss after giving up six runs on three hits and four walks.
Tigers 6, Cardinals 3 (Game 2)
Jeimer Candelario drove in three runs as visiting Detroit rallied for the victory over St. Louis to earn a doubleheader split. The Cardinals (19-18) won the first game 12-2.
The Tigers (20-23) erased a 3-1 deficit with a five-run seventh inning as Candelario's two-run single put them ahead for good. Reliever Jose Cisnero (2-2) earned the victory with 1 1/3 innings of one-hit relief and Bryan Garcia closed out the seventh to earn his second save.
Cardinals reliever Giovanny Gallegos (1-2) took the loss after allowing three runs in the seventh without retiring a batter. St. Louis starter Austin Gomber threw three scoreless innings.
A's 3, Astros 1
Sean Manaea outlasted Jose Urquidy in a classic pitchers' duel as Oakland made it four of five in their showdown series against visiting Houston.
Matt Olson provided the big blow with a go-ahead, two-run home run in the sixth inning for the A's. Oakland (27-15) took a 3 1/2-game lead over the three-time defending American League West champs into the series and stretched it 6 1/2 with just 18 to play.
Houston (22-23), which arrived in Oakland on a four-game losing streak, has now lost eight of nine.
Braves 7, Nationals 6
Atlanta's Dansby Swanson turned around a 98 mph fastball from the Tanner Rainey for a solo homer in the eighth inning to complete the come-from-behind win over host Washington.
Swanson's seventh homer enabled Atlanta to overcome a 5-0 deficit and win the opener of the four-game series. The shortstop is now batting .413 from the seventh inning on.
The Braves' comeback was sparked by a pair of two-run homers from first baseman Freddie Freeman, who has 10 for the season and took over the National League RBI lead with 42. Freeman has 10 RBIs in his last two games.
Red Sox 4, Rays 3
Rafael Devers' go-ahead RBI single in seventh inning helped Boston hand Tampa Bay its third straight defeat as the AL East rival met in St. Petersburg, Fla.
Devers lined a single to right to plate Christian Arroyo for his third RBI of the night and break a 3-3 tie. Devers hit a two-run home run for a 2-0 Boston lead in the third.
Reliever Matt Barnes ended the game by striking out Austin Meadows looking on a 96 mph fastball up in the zone and the potential tying run at third base to record his fifth save. Rookie sensation Bobby Dalbec homered for the fifth straight game for Boston.
Angels 6, Rangers 2
Dylan Bundy struck out a season-best 12 batters over 7 1/3 innings, Mike Trout and Jared Walsh homered and Los Angeles defeated host Texas.
It was the third time in his nine starts Bundy (5-2) has struck out 10 or more and the fourth time he's pitched at least seven innings. He gave up two runs on four hits and one walk while making 105 pitches.
Taylor Ward had the first three-hit game of his career for the Angels (18-27), who got two hits apiece from Trout, Walsh, Andrelton Simmons and Anthony Rendon. The Angels did most of their damage against Rangers starter Kyle Gibson (1-5), who gave up five runs on 10 hits and three walks in 5 2/3 innings.
Marlins 7, Phillies 6
Host Miami began MLB's longest regular-season series in more than half a century with a walk-off win over Philadelphia to move within half a game of second place.
Catcher Jorge Alfaro's walk-off single in the ninth off Phillies reliever Brandon Workman scored Monte Harrison, who pinch ran after Brian Anderson's leadoff single. Harrison stole third with one out after he was moved to second on a Garrett Cooper ground out.
Alfaro's first career walk-off hit pulled the Marlins to within half a game of the Phillies in the first game of a seven-game series -- a first for Miami as a franchise and the longest since the Mets and Cubs played seven at Wrigley Field in 1967, per the Elias Sports Bureau.
Giants 6, Padres 1
Mitch Moreland hit a two-run double in a three-run first inning and Manny Machado and Jorge Ona added solo homers later as host San Diego Padres extended its winning streak to five games while ending San Francisco's winning streak at five.
Seven Padres pitchers scattered eight hits to hand the Giants the third loss in their last 11 games, while the Padres scored multiple runs in the first inning for the third straight game.
Padres starter Chris Paddack left the game after two innings due to a right ankle sprain. He allowed the one run on one hit with four strikeouts in the shortest start of his major league career.
Orioles at Yankees, ppd.
The scheduled game between Baltimore and host New York was postponed due to rain and will be made up as part of a seven-inning doubleheader Friday at Yankee Stadium. Gerrit Cole will start Game 1 for the Yankees, followed by Masahiro Tanaka in Game 2. Alex Cobb is slated to come off the injured list for Baltimore and will start one of the games. Prospect Keegan Akin, who was slated to start Thursday, will likely start the game Cobb does not.
--Field Level Media