Welcome to the SP Roundup, my daily fantasy baseball article reviewing every starting pitcher’s performance from every Wednesday game. I apologize for the jokes written in my delirium in advance. Have questions? Ask me during my office hours on Twitch.tv weekday mornings from 10 am-12 pm ET.
Kyle Leahy (STL) vs SDP (L) – 6.0 IP, 3 ER, 7 Hits, 1 BBs, 7 Ks – 11 Whiffs, 33% CSW, 81 pitches.
Since the offseason, I’ve been closely monitoring Kyle Leahy, who sported a 91 mph slider and 7+ feet extension as a reliever in 2025, and was expected to transition into a starter this season. It’s been a tumultuous adjustment for Leahy thus far, with highly suspect fastballs and an 8% SwStr on that slider across the season. However, we saw some gains against the Friars on Wednesday during his 6.0 IP, 3 ER, 7 Hits, 1 BBs, 7 Ks – 11 Whiffs, 33% CSW, 81 pitches outing, which could be a teaser for consistent production in the second half.
The first is an obvious one. Leahy sat over a tick up on everything, and most importantly on his curveball, which came in at a hard 84/85 mph (two ticks up!). Leahy’s hook has taken over this year as the primary putaway offering and it returned five of his seven strikeouts of the night with phenomenal two-plane movement. Simply put, if Leahy has this velocity and curveball each time out, it’s a foundation he can stand on.
There’s more he needs to do for me to truly trust him, though. The 20% CSW four-seamer is struggling to confound batters, and I’m not sold he’s a reliable backdoor sinker arm to RHB. These are poor stuff fastballs at 94/95 mph, and he truly needs to cook with the breakers if he’s not locating these with precision.
In addition, the sweeper and slider have their moments (20″ sweep at times + a decent LHB backdoor slider at 89+ works), and the curveball landed in the dirt when needed, but was otherwise unable to miss inside the zone. It’s great stuff, questionable execution.
It makes Leahy a PEAS at best, who can hopefully smooth out the approach and keep the velocity up. He’s in a great situation in St. Louis with runway to figure it out, so don’t count him out in the summer months. (View Game Card)
Let’s see how every other SP did Wednesday:
Nolan McLean (NYM) @ CIN (W) – 7.0 IP, 0 ER, 3 Hits, 1 BBs, 9 Ks – 10 Whiffs, 31% CSW, 101 pitches.
There he is. Kinda. KINDA?! He’s a sinker/sweeper guy, right? Well, his sweeper went 39% strikes. He also has a cutter! Oh, how silly of me. 40% strikes. This was his four-seamer stepping up to split time with his sinker, where each returned 70% strikes in a shotgun blast of pitches all around the zone. Absolute chaos. I watched this and he returned strikeouts on some beautiful breakers, and also surprised batters with a backdoor sinker here and there. I don’t think that’s sustainable. The McLean you want is dominating with both sweeper and curveball, with the cutter as a reliable strike offering, the sinker churning outs and strikes, and the four-seamer reserved for LHB and strikeouts to RHB. And fine, a good changeup too, why not. We’re not out of the woods yet. (View Game Card)
Robbie Ray (SFG) @ ATL (W) – 6.1 IP, 0 ER, 2 Hits, 2 BBs, 8 Ks – 13 Whiffs, 31% CSW, 94 pitches.
Ray didn’t “start” as he technically entered the second inning of Tuesday’s suspended game, but maybe that’s all he needs…? Nah, all Ray needed was two things. One, to face a lineup with aggressive RHB who didn’t allow Ray to walk them despite abandoning his slider and featuring heaters in the zone just 25% of the time. They did him such a service. LHB saw a different approach, too. The slider fell to 37% usage in favor of curveballs, while he swapped out half his four-seamers for sinkers, which he never throws to LHB. In fact, Ray normally toys with it against RHB, and its overall usage jumped from 4% to 29% in this one. It clearly worked out and maybe this gave him the confidence he needed to get back on the horse. Now if you could just have good command again, that would be great. (View Game Card)
Kyle Bradish (BAL) @ SEA (W) – 7.2 IP, 1 ER, 5 Hits, 2 BBs, 12 Ks – 18 Whiffs, 36% CSW, 100 pitches.
ATTA BOY BRADISH. A Golden Goal is as welcome a sight as you’ll find and I’m kinda shocked this is the start that returned it. Why? Because his slider and curveball both failed to return 60% strikes. Whiffs? Oh my, yes – 13/48 between them is a hilarious 27% SwStr rate – but you may be surprised to learn he had more strikeouts on his sinker than any other offering. All backward Ks, some barely hitting the zone. No, that’s not sustainable. Like McLean, I’m not convinced he’s completely fixed now; however, I am forgetting one major point: He sat about two ticks harder on both breaking balls. His curveballs are now 86 mph with -16″ of drop. That is UNREAL. Pairing that with a -12″ sweep slider at 89 mph? C-C-C-C-OMBO UNREAL. As long as those hold, Bradish is destined to keep the strikeouts flowing. (View Game Card)
Peter Lambert (HOU) vs DET (W) – 7.0 IP, 1 ER, 2 Hits, 0 BBs, 5 Ks – 7 Whiffs, 25% CSW, 89 pitches.
For a guy featuring donut command for a day (down the pipe or well out of the zone), I’m pretty dang shocked this worked out. I’d like to thank the Tigers for being passive on the easy pitches and chasing the hard pitches. I thought Baez was just one man. I thought so too, and he’s not even playing! To add to the “how did this actually work?!” discussion, Lambert also sat roughly two ticks down across the board. Oh. A little less on his fastballs, but it should explain his lack of whiffs, and seeing that velo dip and the highly suspect command, I do worry that something is wrong (this was in the dome of Houston, too). I may be big-braining this one, of course, and I’m still okay starting him @TOR next. (View Game Card)
Eduardo Rodriguez (ARI) vs LAA (W) – 7.0 IP, 1 ER, 6 Hits, 3 BBs, 5 Ks – 11 Whiffs, 23% CSW, 100 pitches.
Dude is a legit Toby and that’s fun. And you know what’s even more fun? @STL, @TBR, MIL on the schedule. No terrible matchups to avoid! Wait, you’re telling me this is totally safe? Well, no. He still has a blegh floor, but I’m cool with rolling with it for now. The pitch separation on his four-seamer and changeup was HOT. (View Game Card)
Braxton Ashcraft (PIT) @ ATH (W) – 6.0 IP, 1 ER, 4 Hits, 3 BBs, 7 Ks – 10 Whiffs, 26% CSW, 93 pitches.
Atta boy, Brash Axcraft. Okay, I seriously wish that was my name. The world is yours. Anyway, we’re still seeing the ole “curves to LHB, sliders to RHB” and I loved watching his sinker slide inside to RHB for a ton of outs. Keep doing that. PLEASE. (View Game Card)
Luinder Avila (KCR) @ WSN (W) – 5.2 IP, 1 ER, 3 Hits, 1 BBs, 5 Ks – 12 Whiffs, 35% CSW, 91 pitches.
If we ignore the great bamboozlin’ of Kansas City (13 ER from two starters, both removed in the first frame), this would be Avila’s third straight game of 5+ frames and 1 ER. It also featured his highest whiff total of the season, thanks to a consistent feel for the backfoot slider to LHB (6/19 whiffs to LHB!), and I don’t quite understand how his curveball and slider overlap in movement but come with a 6+ mph difference. Anyway, he refused to throw fastballs over the plate and let his breakers do the work, which may be the solution moving forward (especially if he holds the 89 mph velocity on his slide piece), making him someone to consider in deeper formats for his two-step @TBR and @CHW next week. It’s too risky in 12-teamers, personally. (View Game Card)
Griffin Canning (SDP) @ STL (W) – 4.1 IP, 1 ER, 4 Hits, 3 BBs, 2 Ks – 7 Whiffs, 26% CSW, 77 pitches.
He was opened for in this one and it was…fine. If this is the plan moving forward, you may want to circle him as a potential vulture Win option in leagues you need it, but for the most part, I’m still out. (View Game Card)
Sandy Alcantara (MIA) @ PHI (W) – 6.0 IP, 2 ER, 8 Hits, 1 BBs, 6 Ks – 18 Whiffs, 30% CSW, 102 pitches.
It wasn’t 7+ frames, but a Gallows Pole is a welcome sight, and even better was the disgusting 70%+ strikes and 12/54 whiffs between the changeup and cutter. I’m more of a believer when he can confidently throw both of those pitches, then shock with the 98/99 mph heaters, but going 50% foul balls on the heaters doesn’t suggest good enough location to get the whiffs we’re used to. There’s always something, you know? We keep riding this with the Rangers and St. Louis ahead. (View Game Card)
Javier Assad (CHC) vs COL (W) – 5.2 IP, 2 ER, 5 Hits, 0 BBs, 1 Ks – 2 Whiffs, 17% CSW, 92 pitches.
Atta boy, Assad. You’re the pepper of the table – you were never meant to butter my bread, just help out where you could. Sure, give it a shot against the Mets for another. Consider him a Toby. (View Game Card)
Jake Bennett (BOS) vs TOR (L) – 5.1 IP, 2 ER, 3 Hits, 0 BBs, 5 Ks – 15 Whiffs, 28% CSW, 79 pitches.
He’s trying to be a SWATCH, but his four-seamer is saved deeper in counts than you’d expect, resulting in a whopping 24% SwStr rate and three strikeouts with just a 20% zone rate as it sat up and above the zone. That puts a little too much pressure on the sinker over the plate for my liking, but it worked here, especially with 94 mph velocity as opposed to the 92+ mph we saw before. Sadly, it’s Coors and NYY up next so even if I wanted to lean into this, we have to keep him on the wire. I may be down in two weeks @LAA, though. (View Game Card)
Carson Whisenhunt (SFG) @ ATL (W) – 5.0 IP, 2 ER, 6 Hits, 2 BBs, 2 Ks – 7 Whiffs, 24% CSW, 85 pitches.
I had some hype for the smart hunt months ago after he was pumping 96 mph in the spring and…he’s at 92/93 mph. Womp womp. Back to the minors, fella. Hopefully the SWATCH life is still in your future. (View Game Card)
Shane McClanahan (TBR) @ LAD (ND) – 3.2 IP, 2 ER, 3 Hits, 5 BBs, 3 Ks – 10 Whiffs, 23% CSW, 83 pitches.
Blegh. The Dodgers really worked McShane, and he nearly escaped the fourth on a 3-2 curve that was initially strike three and shortly overturned. It was a day of his four-seamer and changeup failing him massively, at 38% strikes and 33% strikes, respectively (I’m sorry, WHAT), but I have good news, everyone! His four-seamer sat 97 mph. Remember when it was 94/95 mph to start the year? We’re at 97 mph now and have been for two starts. But these last three have been some of his worst. It’s another adjustment to make. I’m buying with KCR and ARI up next, both at the Trop. (View Game Card)
George Kirby (SEA) vs BAL (L) – 6.0 IP, 3 ER, 8 Hits, 0 BBs, 5 Ks – 10 Whiffs, 28% CSW, 92 pitches.
A PQS and a blegh WHIP is not the life I want for Kirby. You know what I’m looking for from him and I’ll tell you when he gets it. 1/30 sweepers for whiffs is obviously not it. (View Game Card)
Carlos Rodón (NYY) vs CHW (W) – 5.0 IP, 3 ER, 7 Hits, 1 BBs, 7 Ks – 13 Whiffs, 27% CSW, 99 pitches.
You’re so dang close. The three-run blast in the third from LHB C. Montgomery burns my soul as it came off a middle-out 0-2 slider that he continues to struggle to land down-and-gloveside to both sides of the plate. In addition, the four-seamer isn’t coming in clean at the top of the zone, creating more inefficiency and opportunity for hits. The good news? It’s his fourth of five starts with exactly seven strikeouts. Always something to salvage. (View Game Card)
Casey Mize (DET) @ HOU (L) – 4.2 IP, 3 ER, 6 Hits, 1 BBs, 3 Ks – 8 Whiffs, 27% CSW, 86 pitches.
He’s back from the IL and that slider is still a solid fella. The sinker and splitter are not, though, and the four-seamer could use a little elbow grease. I’m not sure how I feel about that last phrase. Anyway, I’m glad he’s already at 86 pitches and with a poor outing like this, rest easy with him on the wire for the Yankees and I’d likely pick him back up for Houston after. (View Game Card)
Shohei Ohtani (LAD) vs TBR (W) – 6.0 IP, 4 ER, 7 Hits, 1 BBs, 5 Ks – 10 Whiffs, 24% CSW, 91 pitches.
Aces gonna look mortal for once. Also, I saw some hoopla about Ohtani pinch-hitting in a game he started and was already relieved for. Yes, that’s been a rule ever since the DH existed, where a relieved pitcher can pinch-hit for the DH, which then removes the DH from the game. It’s not just for Ohtani. (View Game Card)
Zack Littell (WSN) vs KCR (L) – 5.0 IP, 4 ER, 7 Hits, 2 BBs, 2 Ks – 4 Whiffs, 18% CSW, 99 pitches.
I have to believe y’all came around on Zack’s lack of fantasy relevance Littell by Littell. You’ve done this joke before. You’ve been this joke before. Ouch. That’s what it feels like rostering Littell. Touché. (View Game Card)
Anthony Kay (CHW) @ NYY (L) – 4.0 IP, 4 ER, 6 Hits, 1 BBs, 2 Ks – 5 Whiffs, 28% CSW, 86 pitches.
After boasting some of his best command in an outing, this was some of his worst. How many leagues do you have him rostered? 0 Kay. That’s not an answer. 0 Kay. STOP BEING SO AGREEABLE. (View Game Card)
Brandon Sproat (MIL) vs CLE (ND) – 3.2 IP, 4 ER, 2 Hits, 2 BBs, 6 Ks – 13 Whiffs, 38% CSW, 65 pitches.
That fourth inning was a disaster, where Sproat began with walk, sinker, walk, strikeout, GRAND SALAMI, pop-out, hamstring cramp – the worst outcome of them all. The four-seamer command needs a whole lot of work still, and one day he’ll come into form. One day… (View Game Card)
JR Ritchie (ATL) vs SFG (L) – 5.0 IP, 5 ER, 5 Hits, 3 BBs, 4 Ks – 8 Whiffs, 29% CSW, 90 pitches.
Ritchie ain’t it, y’all. Remember, RHP changeup-first command prospects are not as good as their MiLB numbers. (View Game Card)
Aaron Civale (ATH) vs PIT (L) – 3.0 IP, 6 ER, 9 Hits, 2 BBs, 2 Ks – 13 Whiffs, 35% CSW, 71 pitches.
Civale hath returned! Welcome back to the wire, fella, where you look around and internally sigh as you had hoped you’d never be associated with these people. Jeeeeeez. I’m talking about the fantasy baseball replica, not the real guy! He’s a cool dude. (View Game Card)
Sam Aldegheri (LAA) @ ARI (L) – 3.0 IP, 6 ER, 6 Hits, 3 BBs, 1 Ks – 3 Whiffs, 25% CSW, 77 pitches.
I could have sworn Sam A. in California was having a lot more success than lines like these. That’s Altman. Yeah, man, it is edgy. No, not ALT, I mea–Welp, see ya later. (View Game Card)
Andrew Painter (PHI) vs MIA (L) – 2.0 IP, 6 ER, 6 Hits, 2 BBs, 3 Ks – 8 Whiffs, 27% CSW, 56 pitches.
Painter was promptly sent to Triple-A after this game. I’m sure not what the plan is for the Phillies now (is it Alan Rangel?! The guy I speculated about in the spring?! It’s a wait-and-see, y’all, don’t be silly), and it was a necessary move. (View Game Card)
Gavin Williams (CLE) @ MIL (L) – 5.0 IP, 7 ER, 7 Hits, 2 BBs, 4 Ks – 11 Whiffs, 29% CSW, 87 pitches.
Wait, what. Ohhhh, another 2 HR game. But that made up just 3 ER. Fair point. There’s something interesting happening here. Gavin recently switched to a sinker focus and shelved the four-seamer. Now he’s 33% sinker with just ten four-seamers, with the latter going just 3/10 strikes, and the former not doing a whole lot at 62% strikes. A few hits, not many outs, and batters were able to comfortably attack the sweeper and curveball, which held 65% strike rates, but failed to find their locations, like playing a game of musical chairs and knowing you’re going to lose this round as you scan the room. I think another adjustment will be made – more four-seamers are coming – as he finds the right mix. The good news? He can still throw strikes. (View Game Card)
Nick Lodolo (CIN) vs NYM (L) – 4.2 IP, 7 ER, 11 Hits, 2 BBs, 2 Ks – 7 Whiffs, 22% CSW, 90 pitches.
The man was Singled Out as much as anyone, though he didn’t help himself with just a 44% strike rate on his curveball – the Mets were far more patient than other lineups, and I’m not sure why. He also didn’t return whiffs on his changeup, creating more chances for Koufax to be out of the room, grabbing a new bag of chips. Oh snap, what did I miss?! I think this was a blip and I’m holding for 2x against Milwaukee. (View Game Card)
Sean Sullivan (COL) @ CHC (L) – 4.0 IP, 8 ER, 9 Hits, 2 BBs, 2 Ks – 2 Whiffs, 22% CSW, 82 pitches.
There was no reason to start him here and there’s no reason to start him in the future. (View Game Card)
Game of the Day
Parker Messick vs. Shane Drohan – I’m super curious about both of these southpaws.
But Nick?! Where are the streaming picks? – I’ve moved them to the daily SP Matchups & Streamer Rankings article.
Have Questions? – Join my morning Twitch.tv livestream! I answer all questions there for free: 10:00 am – 12:00 pm ET Monday through Friday.
Photo by Xavier von Erlach/Unsplash | Featured image by Ethan Kaplan (@djfreddie10.bsky.social on Blue Sky and @EthanMKaplanImages on Instagram)
