The Cubs offense nearly disappeared Thursday evening at Wrigley Field against the Guardians. They had just three hits, all singles. That plus three walks was the extent of the offense, and in the first nine innings just two Cubs got past first base. Eleven Cubs struck out.

But the Cubs also got some excellent pitching, holding Cleveland to seven hits, also all singles. And Matt Shaw’s long sacrifice fly scored placed runner Nico Hoerner in the 10th inning for a 1-0 Cubs win and a sweep of the three-game series.

This means that most of this recap, and most of the video highlights I will show you, are about pitching and defense.

Cade Horton was magnificent in this one, by far his best start as a big leaguer. He threw 90 pitches (60 strikes) and completed seven innings for the first time in his MLB career. He struck out five. Here are the five K’s [VIDEO].

Here’s more on Horton’s outing [VIDEO].

More on Horton’s outing from BCB’s JohnW53:

The only previous Cubs starter this season to pitch at least seven shutout innings was Justin Steele — remember him? — who threw seven without allowing a run on April 7 at home against the Rangers.

The Cubs had 11 such starts last season: four by Shota Imanaga; two each by Kyle Hendricks, Steele and Jameson Taillon; and one by Ben Brown. That was their most since they had 13 in 2019. They had 17 in 2016 and 21 in 2015.

Here’s some defense, Reese McGuire throwing out Bo Naylor trying to steal in the fifth [VIDEO].

That was one of three CS for McGuire in this game. He’s now caught six of 17 runners trying to steal this year, a 35.3 percent rate, well above the MLB average of 24.2 percent.

Cleveland flashed some glove too. Here’s their shortstop, Brayan Rocchio, snagging a line drive off the bat of Shaw to end the seventh [VIDEO].

After Horton left the game, Drew Pomeranz entered to throw the eighth. He got into a bit of trouble with a walk and single, but struck out two. Then Ryan Brasier got José Ramirez to fly to center to end the inning. Ramirez, one of MLB’s best hitters, went 0-for-12 in this series.

Ryan Pressly threw a scoreless ninth after allowing a leadoff single.

But the Cubs couldn’t do anything with Cleveland’s bullpen, either. Cade Smith, Hunter Gaddis and Emmanuel Clase held the Cubs scoreless in the sixth, seventh, eighth and ninth with just one baserunner, a two-out single in the ninth by Dansby Swanson, in that span.

Chris Flexen entered the game to throw the 10th. He retired the side in order, again with some defensive help, this nifty catch in foul territory by Michael Busch [VIDEO].

After throwing just seven pitches in the ninth, Clase was left in the game to throw the 10th. Nico Hoerner was the placed runner, and he went to third on a ground out by Busch.

That brought up Shaw [VIDEO].

Here’s Shaw on his walk-off sac fly [VIDEO].

Here are Craig Counsell’s postgame comments [VIDEO].

More on the 1-0 win from BCB’s JohnW53:

According to my research, this was the Cubs’ 995th walk-off win since 1876, their 897th of the Modern Era and 792nd at Wrigley Field. It was their 954th at home.

The Cubs now have shut out opponents in extra innings of 47 games since 1901. They had not done it since Sept. 28, 2015, when they beat the Royals, 1-0, at home in 11 innings. This was their 35th extra-inning win by 1-0 and the 24th at home.

The Cubs had not blanked the Guardians in 18 previous regular-season games at Wrigley, plus three games in the 2016 World Series. They have shut them out only one in 20 games at Cleveland, 17-0, in 2015.

A couple more notes on this game: It was the Cubs’ first 1-0 game this year, but there have been quite a few across MLB:

This is the 35th 1-0 game across MLB this season.

There were 38 all of 2024

— Christopher Kamka (@ckamka) July 4, 2025

Also, the Cubs went 0-for-4 with RISP Thursday night, but…

Record this season in games with zero hits with runners in scoring position:

Cubs: 6-5 (.545)
Rest of MLB: 90-445 (.168)

— Christopher Kamka (@ckamka) July 4, 2025

Lastly, this is the second time this year the Cubs have won a game with only three hits. They did it in the Wrigley Field opener, April 4 vs. the Padres.

The Brewers lost to the Mets Thursday night, so the Cubs’ NL Central lead over them increased to four games. The Cubs lead the Cardinals by 5½ and the Reds by seven.

The Guardians are a good team, despite their record, especially defensively. The Cubs, though, played solid baseball for three games, and did enough to sweep the series. That puts them in excellent position as the Cardinals visit Wrigley Field this weekend. Colin Rea will start the series opener for the Cubs and Miles Mikolas will go for St. Louis. Game time is 1:20 p.m. CT and TV coverage will be via Apple TV+ (how to watch).