
The Cubs really couldn’t have done much better so far this year. They have three All-Stars, two of them starting players. They’re in first place in the NL Central, though by just one game, and have had unexpected good performances from many players, including some who weren’t even on the Opening Day roster.
A reminder as you read these: These are totally subjective, my personal opinion of these players’ performances through 96 games. YMMV, as they say.
And these grades are a lot better than last year’s
at this time.
Position players
Carson Kelly: A
Kelly was signed to a two-year deal that’s worth at least $6.5 million ($5 million this year plus a $1.5 million buyout). There’s a $7.5 million mutual option for 2026 that might be a rare one worth exercising.
Kelly’s having what will likely wind up as the best year of his career. He’s on pace for about 4 bWAR, he’s got a 158 OPS+ and 153 WRC+ and he’s thrown out 33.3 percent of runners trying to steal, well above the league average of 23.9 percent.
Oh, yes, he also hit for the cycle against the A’s in the very first MLB game played in Sacramento. Here’s the triple that completed the cycle [VIDEO].
Michael Busch: A
Here’s another player who has done everything he was asked to do, even when he was being platooned, not starting against most lefthanders. Recently, Craig Counsell has given him that opportunity and he’s taken advantage of it.
Here’s his three-homer game against the Cardinals [VIDEO].
That helped Busch win a co-Player of the Week award. To me, it doesn’t matter what Zyhir Hope and Jackson Ferris ever do for the Dodgers. That deal is already a win for the Cubs. He could have a 6 WAR season this year and get some downballot MVP votes.
Nico Hoerner: A
Nico is headed for a 5+ WAR season, his OPS is in line with his career marks and he could win another Gold Glove. He could wind up with a career low in strikeouts in a full season — he’s K’d only 28 times this year.
Nico has made so many good defensive plays this year that it’s hard to pick just one to show you, so I settled on this one from last Thursday against the Twins [VIDEO].
Dansby Swanson: B
I know what you’re all going to say. “Drop him in the lineup!” “He doesn’t hit in the clutch!”
In his career before this year, Swanson had a .734 OPS. It is currently ... .730. He’s probably going to have between 20 and 25 home runs and 75-80 RBI and 80 or so runs, and a dozen or so stolen bases.
He’s likely going to have another 4 WAR season and probably win another Gold Glove. This is who he is, one of the best shortstops in the league.
Again, it’s hard to pick just one defensive highlight for Dansby. Here’s a slick play from last Thursday against the Twins [VIDEO].
Matt Shaw: D
I keep waiting for Shaw to hit the way he did in the minor leagues. I am convinced it will come, eventually. Third base has been an offensive black hole for the Cubs this year — no one who’s played there has hit. Overall, Cubs 3B have hit .199/.273/.258 this year, a .531 OPS and one home run in 362 PA (one of Shaw’s two was as a pinch-hitter). That is by far the worst OPS for any team’s third basemen this year (the Pirates are next-worst at .581).
Shaw gets a D instead of an F because he has been an outstanding defensive third baseman. Here’s one of his great plays, a fantastic stop and throw against the Reds in May [VIDEO].
Ian Happ: B
Here’s another favorite BCB punching bag. Happ is who he is: A pretty good hitter who has long slumps and then long hot streaks. His career OPS before 2025 was .794 and yes, the .701 he currently sports is down from that. I remain convinced he’ll go on a hot streak after the All-Star break and wind up with his typical 20+ home run, .780 or so OPS and another 4 WAR season.
He’s also going to win another Gold Glove — that would make four. There are just five Cubs who have won four Gold Gloves: Greg Maddux, Mark Grace, Ryne Sandberg, Anthony Rizzo and Ron Santo. That’s pretty good company.
Again, there are so many good Happ defensive plays that it’s hard to pick just one to show you. Here’s one against the Padres back in April [VIDEO].
Pete Crow-Armstrong: A+
What more can you say about a guy who’s made himself into a superstar overnight? We all thought maybe he had all this in him, except maybe the power surge he’s had in 2025 that has made him an MVP candidate, the guy who’s in the Top 20 in jersey sales this year and who is inspiring chants of “PCA! PCA!” at Wrigley Field on a daily basis.
PCA is so good defensively that I could easily make the rest of this article just about his center field highlights. As BCB’s Sara Sanchez wrote last week, PCA has made more than 56 percent of his “five-star” catch opportunities, which basically laps the field.
Here’s one of those catches from July 4 against the Cardinals [VIDEO].
Nobody else in MLB makes that play. No one. As was once said about Willie Mays, “He makes the hard ones look hard.”
Here’s hoping for an even bigger second half.
Kyle Tucker: A
As have so many of the Cubs, Tucker has done all he’s been asked, hitting, baserunning and even defense, which I criticized here last month.
Then he goes out and steals a home run from the guy he basically replaced with the Cubs, Cody Bellinger [VIDEO].
Tucker’s quiet professionalism and approach has helped every hitter on this team. Extend him, Tom Ricketts.
Seiya Suzuki: A
Suzuki is one of the hitters helped a lot by Tucker. Here’s Seiya talking about Tucker’s influence on him:
Suzuki wasn’t real happy about being moved from right field to primary DH, but he has taken the role to heart and is having the best year of his career. He’s already set career highs with 25 home runs and 77 RBI, the latter figure one behind Eugenio Suárez for the league lead. He’s even played some outfield — 16 starts in left field and 13 in right, so maybe he’ll play 50 or so games in the field, where he’s looked ... not too bad.
The Cubs should extend him, too.
Reese McGuire: B+
Who saw THIS coming? (Answer: “No one.”)
McGuire was the “break glass in case of emergency” catcher added to the roster when Miguel Amaya suffered an oblique injury. In fact, McGuire had been granted free agency just a couple days earlier but found no takers, so he came back to the Cubs.
Good thing, too — he’s hit well and played solid defense, throwing out 36.8 percent of runners trying to steal.
Here’s his two-homer game against the Reds in his first game as a Cub [VIDEO].
Jon Berti: C-
I had better hopes for Berti when the Cubs signed him. He was here to be basically a backup, but got some starts when Shaw was sent down. He didn’t hit, and since Shaw’s return has barely played.
He has positive WAR because he’s a good defender and has 11 stolen bases in 13 attempts. Thus, the C-. He’s probably the Cubs’ best bench player... which, as you know, isn’t saying much.
Justin Turner: D-
Turner has been lauded by the rest of the Cubs as having a great clubhouse influence. That isn’t nothing, but he seems pretty much done as a hitter and he’s only marginally decent at first base. While Counsell has put him at third base a few times... I just wouldn’t. That’s a significant defensive downgrade for a team that’s become known for its defense.
Who knows? Turner’s likely sticking around, he does have a couple of home runs this year and significant postseason experience (nine postseasons, three World Series, 86 postseason games). Maybe that matters one last time.
Vidal Bruján: D-
He’s a slightly worse version of Miles Mastrobuoni. Jed Hoyer should be looking around to improve this bench spot.
Miguel Amaya: Incomplete
This is really a shame, as Amaya was having the year we all hoped he would before injuries interrupted his minor-league development.
And then this oblique injury put him on the shelf [VIDEO].
Amaya has missed 44 games and there still isn’t a timetable for his return. Fortunately, McGuire’s play has filled in admirably.
The following position players also played for the Cubs in the first half: Moises Ballesteros, Nicky Lopez and Gage Workman. (You might have some thoughts on Ballesteros, my feeling is that he didn’t play enough to give him a grade.)
Pitchers
Matthew Boyd: A+
What can you say? This signing was not praised by most Cubs fans at the time it was made, but Boyd has done everything asked of him and more, having made his first All-Star team with a 2.34 ERA and 1.030 WHIP in 19 starts, by far the best year of his career.
Reports are that the Cubs are going to hold Boyd back until the Royals series next week to give him extra rest past the All-Star break. I concur with this idea.
This is one of Jed Hoyer’s best signings, at least from the results to date.
Shōta Imanaga: A-
The minus is only for missing about seven starts with a hamstring injury, suffered on this play in Milwaukee [VIDEO].
The kicker to that, of course, is that if Shōta completes that double play without the injury, he’d have been taken out of the game anyway at that point.
Anyway, he returned and picked up where he left off. Even the game against the Guardians, when he allowed three home runs, he pitched into the sixth and the Cubs won.
The Cubs are 31-10 in games started by Imanaga in his two years here. That’s the definition of what we used to call a “stopper,” a starter who always seemed to break up losing streaks.
Stay healthy and with Boyd and Imanaga, the Cubs have two top starters for a postseason run. (Yes, they need at least one more.)
Cade Horton: C
Horton’s had some real good starts and some clunkers. He’s still learning, at the MLB level, and in general has adapted well when pushed into a rotation that’s aiming for postseason success.
His K rate is lower than it was in the minor leagues. I suspect that over time, this will improve.
Colin Rea: B+
Just a tick below an A- because of a rough patch at the end of May/beginning of June.
He’s recovered from that and posted a 1.93 ERA over his last three starts covering 18⅔ innings — and note, that’s averaging more than six per start.
Rea pitched well for Counsell in Milwaukee. That sort of knowledge can’t be understated.
Jameson Taillon: C
Taillon had a stretch of 13 really good starts from early April to mid-June, posting a 2.99 ERA in 78⅓ innings. Then he started to get hit again and after that suffered a calf injury while running between starts. There’s no timetable for his return, which is why the Cubs now likely have to go and get two starting pitchers by trade.
Chris Flexen: B+
Flexen found himself a really good role as a multi-inning reliever. The slight downgrade from an A is because, when pressed into service as a starter against the Yankees Friday, the results were not good. This, too, shows that the Cubs have to go after more than one starter in the trade market.
Flexen can still be quite useful as a reliever, maybe 2-3 innings at a time.
Drew Pomeranz: A
Here’s yet another guy who pitched previously for Counsell in Milwaukee. Whatever got back into Pomeranz after four years out of MLB, let it stick around for the rest of the year. He’s been excellent everywhere he’s been used, from setup reliever to opener to once as a closer. Here’s the final out of Pomeranz’ save this year [VIDEO].
This was right after Ryan Pressly had the meltdown against the Giants and Daniel Palencia had not yet been given the closer role. Speaking of which...
Daniel Palencia: A
What a revelation. Palencia always had the raw stuff — 100 miles per hour plus — but couldn’t command or control it. Now he can, and that makes for a good closer. He didn’t start the year on the roster and was called up April 15. He had one blown save, a rough one against the Marlins when one strike from victory, but since then: 19 games, 0.96 ERA, 23 strikeouts, four walks and just one home run allowed in 18⅔ innings. He has 12 saves in that span with no blown saves, and his FIP is 2.12, indicating this is likely for real.
Here’s the little kerfuffle that happened after he hit Willson Contreras last month in St. Louis [VIDEO].
Ryan Pressly: B-
You know, Pressly really hasn’t been all that bad. He has made 38 appearances and allowed earned runs in four of those.
Of course, one of those was that crazy nine-run (eight earned) 10th inning against the Giants May 6. That got Pressly demoted from his closer role.
Obviously, the runs are what they are and they have left him with a 3.28 ERA. In the other 37 appearances, he has an ERA of 1.26 in 35⅔ innings.
So he’s been decent overall. He can be a useful setup man, as he was for Josh Hader in Houston last year.
Brad Keller: B+
This could have been an A except for two really bad innings, one against the Dodgers in April in that crazy game the Cubs won anyway 11-10, and the other against the Cardinals last week.
In his other 38 appearances, Keller has an ERA of 1.33. And he’s throwing 97-98, something I would never have expected from his time as a starter. Remember this shirt?
Chicago Cubs relief pitcher Andrew Chafin wears a "FAILED STARTER." shirt while walking in the dugout before playing the Washington Nationals at Wrigley Field Monday in Chicago. pic.twitter.com/0IQVaBgD7w
— armando l sanchez (@mandophotos) May 17, 2021
Chafin was really good for the Cubs that year. Maybe get Keller one of those.
Caleb Thielbar: A
Another guy who’s done everything he’s been asked to do. He’s having his best year since 2021 and it could wind up being the best year of his career. Thielbar has nine holds and just one blown save, and that’s what a guy like this should be doing for his team.
Another good under-the-radar signing by Jed Hoyer.
Ben Brown: C-
Brown has talent, no doubt about it. He’s showing it again at Triple-A Iowa:
That’s it for Ben Brown who had a phenomenal day in St. Paul.
— Tommy Birch (@TommyBirch) July 13, 2025
Final line: 5 IP, 2 H, 0 R, 0 BB, 5 K. 11 whiffs.
A breakdown of his stuff: pic.twitter.com/KZKyRDOyK9
Note that he increased his changeup percentage in that game to 12 percent. It’s in the low single digits in MLB. If he can command that pitch he can still be a successful starter for the Cubs.
Ryan Brasier: A
Speaking of good under-the-radar moves... Brasier pitched one inning for the team in Tokyo, then missed two months with a groin strain.
Since his return — nails. 16 games and 15⅓ innings, all but one of those innings scoreless. He throws strikes (133 of 208 pitches in that span) and just gets outs. The Cubs have apparently turned the fountain of youth on for Brasier and Thielbar, both of whom will be 38 by the end of this month.
Porter Hodge: D
What a fall for the guy who some of us thought might be the Cubs closer this year. He did well in that role at the end of 2024, but this year has been an injury-filled mess. First, an oblique issue put him on the IL in May, then he suffered a hip impingement while rehabbing from that. Finally returning to the big leagues in late June, he had a few decent outings and then got pounded by the Cardinals, after which he returned to the IL with a shoulder issue.
Hodge is only 24. This appears to be a lost season for him. Hopefully he gets healthy over the winter, because I think he can still be a key contributor going forward.
Justin Steele: Incomplete
Steele’s Tommy John surgery will have him out the rest of this year and early next. I feel bad that he’s not going to be a part of what could be a special season for this team.
Jordan Wicks: D-
First-round pick. Left-handed. Has talent. Just hasn’t figured it out yet. I hope he will.
The following pitchers also appeared in at least one game for the Cubs in the first half: Génesis Cabrera, Tom Cosgrove, Michael Fulmer, Gavin Hollowell, Brooks Kriske, Luke Little, Eli Morgan, Julian Merryweather, Nate Pearson and Ethan Roberts.
More from bleedcubbieblue.com:
- MLB Draft open thread: There will be three new Cubs tonight
- 2025 MLB Draft: Welcome OF Ethan Conrad to the Cubs family!
- Cubs 4, Yankees 1: Shōta Imanaga leads the way
- Minor League Wrap: Ben Brown dominates as Iowa beats St. Paul 8-2.
- Cubs roster move: Brooks Kriske selected, Jordan Wicks optioned
- Cubs 5, Yankees 2: All-Star Matthew Boyd dominates
- Chicago Cubs vs. New York Yankees preview, Sunday 7/13, 12:35 CT