MLB Best Bets Today: Odds, predictions and picks for Thursday, July 20th

By Adam Burke  ( 

July 20, 2023 10:10 AM

MLB schedule today has 10 games

The Thursday MLB card brings us 10 games, as 10 teams enjoy a travel day and the others are hard at work trying to come away with wins to end the series or to start off the next series on the right foot. It will be an early start across most of the league, as several getaway day games serve as extended lunch break matchups with a start time around 12:30-1 p.m. ET.

That doesn’t really give us a lot of time to get to those games, but there are a few night games that could be of interest. Getaway day games with the extreme heat and humidity aren’t going to excite each team equally, so that’s something that you may want to factor into your handicap.

Before I dig into today’s slate, let’s look at what happened last night, as the offensive barrage of Tuesday garnered a lot of attention. Wednesday was not nearly as explosive, but there were still plenty of runs scored around the league.

After posting a 17.8% HR/FB% on Tuesday, that number came back down to 13.1% on Wednesday. The 127 wRC+ that we saw on Tuesday that represented a day 27% above the league average for this season dropped back down to 92. It was not a good day for offense at all with a .230/.300/.384 slash just one day after a .270/.344/.477 slash. So, maybe the balls aren’t juiced after all.

Nearly every starter on the Wednesday board was making his second start of the second half. It shouldn’t have come as a surprise that those guys would be a bit sharper than the guys that were on 8+ day layoffs on Tuesday.

Latest MLB betting splits | MLB odds from DraftKings Sportsbook

Follow me on Twitter, @SkatingTripods, to get the article right as it goes live. (Tracking sheet)

VSiN Daily Baseball Bets will be out shortly.

Here are some thoughts on the July 20 card (odds from DraftKings):

Arizona Diamondbacks at Atlanta Braves (-200, 9)

This series started off with a showcase for offense, which comes as no surprise with the Braves and the summer heat of Atlanta. But, then neither team really excelled with the bats on Wednesday and may struggle on Thursday, as aces Zac Gallen and Spencer Strider will go for their respective teams here and both guys have extremely good numbers for the season.

Gallen comes into this one with a 3.14 ERA with a 3.66 xERA and a 2.90 FIP over his 123.1 innings pitched. I’ve written a lot about how Gallen’s K% of 26.3% is very influenced by what he did earlier in the year. He’s allowed one run in three of his last six starts, but also allowed four runs a couple of times as well. He allowed three runs on six hits over five innings in his second-half debut against Toronto with three walks and five strikeouts.

I don’t mean to keep railing against Gallen. I just think he’s been a bit overpriced on the whole and maybe gotten too much respect. Over his last seven starts, Gallen has a 3.83 ERA with a 4.06 FIP. He’s faced the Blue Jays, Pirates, Angels, Rays, Brewers, Guardians, and Tigers, so not exactly a gauntlet of opposing offenses. I do not think he is overpriced today. In fact, there may be some value on Arizona, though it's an early game with no lead time for the article.

Strider has a 3.66 ERA with a 3.05 xERA and a 2.82 FIP on the year in his 110.2 innings of work. Strider had a little hiccup when he allowed 13 runs over a two-start stretch, but he seemed to bounce back nicely with four earned runs allowed in four starts, but he allowed five runs on July 15 in his first start back from the All-Star Break against the lowly White Sox. He did strike out 10 over six innings, but his command wasn’t quite as sharp as usual.

The Braves have dropped four in a row for the first time this season, so they need Strider to be  a dude. It’s an early start, which means I don’t have a play on it with limited lead time, but it’ll be interesting to see how the game plays out. It will be in the 90s on a very hot day, so the ball could carry well.

San Francisco Giants at Cincinnati Reds (-110, 9.5)

It will be another early game here as the Giants and Reds face off. Alex Cobb goes for San Francisco and Andrew Abbott goes for the Reds, as Cincinnati got back in the win column for the first time in the second half with yesterday’s 3-2 victory.

Cobb has a 2.82 ERA with a 4.13 xERA and a 3.16 FIP over his 95.2 innings this season. He profiles as a guy capable of handling Great American Ball Park because of a 57.5% GB% and a solid K% at 22.4%. Cobb, unlike others coming back from the Break, had a strong first outing with one run allowed on four hits over six innings against the Pirates. He has allowed five earned runs total in his last four starts.

Abbott certainly has some regressions signs in his profile with a 2.45 ERA, 3.58 xERA, and a 4.35 FIP over 47.2 innings of work. His career is off to a really good start, but a .214 BABIP and a 95.1% LOB% will both be tough to maintain as he moves forward. Abbott worked six fine innings against the Brewers in his first second-half start and it was a good bounce back against the same Milwaukee team he faced eight days prior and allowed six runs on nine hits in just 4.1 innings. 

Abbott has allowed a 43.3% Hard Hit% and a 10.8% Barrel%, so there are some definite contact management concerns. But, he’s been able to offset those with a 27.3% K%. While he had a good outing against the Brewers, he did only have three strikeouts and worked around some hard contact.

Early start, hot day, this game could go a variety of different ways. Late money moved the Reds into a short home favorite.

Milwaukee Brewers at Philadelphia Phillies (-115, 8.5)

This early start is one of the more interesting lines of the day. The Brewers are tied for the best record in July and Corbin Burnes was simply exquisite in his start against the Reds to start the second half. However, Milwaukee is a dog here to Taijuan Walker and the Phillies.

I guess there could be some residual concerns about Burnes, who has a 3.73 ERA with a 3.56 xERA and a 4.09 FIP in his 113.1 innings of work. He battled dehydration in those six emotional innings with 13 strikeouts. He hit 100 pitches for the first time since June 2 and exceeded it for the first time since May 27. The betting markets have also been skeptical because he has not been “Burnesian”, as his numbers are nothing like what we saw from 2020-22.

Walker is also on a heater. He still has a 4.00 ERA with a 3.98 xERA and a 4.37 FIP for the season, but he owns a 2.25 ERA with a 3.73 FIP since May 21. Cut that down a little more and he has a 1.84 ERA with a 3.02 FIP in his last seven starts over 44 innings of work. For his first start in 10 days, he went five innings and allowed two runs on four hits with three strikeouts and three walks against the Padres.

This one is another early start with minimal lead time, so I don’t have any strong convictions, but this line did catch me by surprise a little bit.

St. Louis Cardinals at Chicago Cubs (-120, 8.5)

The lone late game in the NL is the first of four in this NL Central rivalry between the Cardinals and Cubs. It will be Steven Matz and Marcus Stroman here, as the Cubs lay a hefty home price. Chicago has seen a lot of lefties lately and has gotten back to having some success against southpaws after struggling a bit throughout May and June. Matz is also not a very good lefty.

He comes into this start with a 4.86 ERA, 4.45 xERA and a 4.31 FIP in 76 innings pitched. This will be his 13th start and his third straight after working out of the bullpen exclusively from May 29 to July 5. In his two most recent starts, he’s held the White Sox at bay with one unearned run in 5.1 innings and allowed four runs on four hits, including two homers, to the Nationals.

As a starter this season, Matz has allowed a .302/.363/.486 slash with a .367 wOBA in 60 innings of work. He was much more effective as a reliever with a .224/.308/.276 slash against and a .270 wOBA. Perhaps his stint as a reliever will help him as a starter, but time will tell.

Stroman, a very popular trade candidate, has a 2.88 ERA with a 3.71 xERA and a 3.39 FIP over his 118.2 innings of work. Stroman’s numbers look pretty similar to how they usually look, though he is inducing more grounders than he has in any season since 2018. His BB% is up at 8.8%, which is a career-worst, but a .251 BABIP and his best season from a home run prevention standpoint have more than covered for that.

Recently, the Regression Monster has taken a bite out of Stroman, as he allowed 15 runs in his last three starts before the All-Star Break. After skipping the Midsummer Classic, Stroman returned to throw six one-run innings against Boston with three strikeouts. He had a blister prior to the Break that may have healed during the downtime. 

I’m not really confident enough in the Cubs or Stroman to lay the number here, even though he’s certainly having a better season than Matz. Matz wouldn’t be the first to have a bullpen stint and be better as a starter for it, so I’ll be eager to see him build up a few more starts to see if that’s the case.

Detroit Tigers (-140, 9) at Kansas City Royals

Michael Lorenzen will get the start for the Tigers, but the Royals had not named a starter overnight. However, the working assumption was that Zack Greinke would make his return for KC and that’s probably how the sportsbooks lined the game. Greinke caught some extra rest before and after the Break, as he spent the minimum 15 days on the IL with some shoulder discomfort. He has a 5.44 ERA with a 4.96 FIP in 92.2 innings of work.

Maybe the shoulder was barking or maybe it’s just the declining skill set, but Greinke allowed 27 runs in 30.1 innings going into his IL stint. That’s an 8.01 ERA with a 6.19 FIP, as he allowed eight homers, including three against Minnesota in his final start. He also had a start against Cleveland in which he allowed 11 hits, two walks, and didn’t strike out any of the 28 batters he faced, but only surrendered two runs.

Jekyll Hyde Lorenzen has a 3.75 ERA with a 4.23 xERA and a 4.13 FIP in his 93.2 innings of work. I call him that because he’s been a boom or bust guy this season. In 16 starts, Lorenzen has allowed five runs three times and six runs three times. He’s also allowed two runs twice and one or zero runs in the other eight starts. Against the lowly Royals, he should probably be in line for a good one, but he did give up five runs, including three homers, to the Royals back on May 22.

Another early start, but not the hottest of days in KC, as it won’t hit 90 until this game is over.

Minnesota Twins at Seattle Mariners (-120, 7.5)

Pablo Lopez and George Kirby wrap up this series in the Pacific Northwest, as we’ve seen some really good pitching matchups this week between the teams. Lopez has a 4.24 ERA, but that doesn’t tell the entire story, as he has a 3.11 xERA and a 3.37 FIP in his 116.2 innings of work. The right-hander has excellent peripherals, including a 30.2% K% that should play up against this Seattle lineup, but his 69.3% LOB% and some additional bad luck with inherited runners are present on his ERA.

Lopez was one of many who struggled coming out of the Break, as he allowed seven runs on eight hits to the lowly Athletics, including a couple of homers. The crazy part? He allowed just an 84.7 mph exit velocity and only four hard-hit balls. So, it was one of those games where the BABIP gods had some fun with him. He did allow two barrels and both left the ballpark, resulting in three of the runs.

Lopez was staked to a 6-0 lead by the third inning in that game, so maybe that took him out of focus or rhythm a bit. It was his first start in 10 days, so we’ll see how he bounces back.

The irony is that Kirby also got rocked by a light-hitting offense to open the second half, as the Tigers lit him up for six runs on eight hits in five innings. It was his first start in nine days and it was not a good one, but he allowed more hard contact than Lopez. Detroit had four barrels and a 44.4% Hard Hit% in that start. In fact, over his last eight starts, Kirby has allowed a 48.3% Hard Hit% and a 12.1% Barrel%. Yet, he still has a 3.44 ERA with a 3.47 FIP in that span.

We’ll see if Minnesota can capitalize on getaway day. These two pens have worked quite a bit lately due to a high number of close games, so I’m not sure which one I’d give the edge to. I think this game is lined fairly, though I am more concerned about Kirby than I am about Lopez.

Baltimore Orioles at Tampa Bay Rays (-190, 8)

The battle for first place in the AL East between the Orioles and Rays reaches a fever pitch this weekend, as the teams will fire it up for a four-game series at the Trop. Kyle Gibson and Tyler Glasnow will try to set the tone for their respective teams here, with the Rays a huge favorite. Tampa Bay is really struggling to score runs right now, as they’re batting just .210 with a .269 OBP and a .373 SLG. They’ve scored just 47 runs in 14 games.

The Orioles, meanwhile, are swinging it at a .267/.339/.453 clip this month with 84 runs scored in their 15 games. Even though the Rays are scuffling at the plate, Baltimore may need to drive in some runs in support of Gibson, who has a 4.77 ERA with a 4.72 xERA and a 3.95 FIP in his 115 innings pitched. He’s a pitch-to-contact guy with his lowest K% since 2017 and he has had some rough outings lately.

He’s allowed 22 runs on 31 hits in his last 26 innings and just gave up five runs on nine hits with two walks and just one strikeout against the Marlins in his first start after the Break. The concerning thing about that is Gibson was effectively on normal rest, as he pitched Sunday before the Break and then Saturday coming out of it. In that five-start stretch, he has allowed a 50% Hard Hit% and a .346 BABIP with just a 55.3% LOB%.

Glasnow has been a bit iffy as well. He has a 3.78 ERA, but a 4.69 xERA and a 3.69 FIP in his 47.2 innings of work. Glasnow has allowed a 20.5% HR/FB%, as the mistakes he’s made have generally been hit a long way. He does have 71 strikeouts on the year with a 35.1% K%, which has saved him because he has a 48.2% Hard Hit% and a 17% Barrel% otherwise.

His first start out of the Break was a good one and each of his last four starts has been solid with six earned runs allowed over 22.1 innings with 38 strikeouts against five walks. Most importantly, he’s only allowed three homers in that span, which includes two starts against the Royals, one against Seattle and one against Atlanta.

On the surface, the Orioles probably look a little enticing at the big plus-money price, but Glasnow seems to be settling in a little and Gibson is not a guy I trust. 

Houston Astros (-195, 8.5) at Oakland Athletics

J.P. France will get things started here as the Astros and A’s exchange pleasantries for the weekend. France is a bit of a regression candidate in my eyes with a 3.31 ERA, 4.35 xERA, and a 4.65 FIP in his 70.2 innings of work. The rookie right-hander has an 80.3% LOB% with a 16.9% K%, so that’s going to be really hard to maintain as the season goes along. That said, he’s done a good job of limiting hard contact and that usually helps.

France has not allowed more than three earned runs in a start since May 29. Also, it’s Oakland. I’d be looking more strongly in the direction of regression if he was facing a decent lineup. He’s actually navigated a few decent lineups and been able to stave it off, so maybe that’ll just be what he does this season. He did allow nine hits and only strike out two Angels in his first start after the Break, but only two of his four runs allowed were earned.

Hogan Harris enters with a 6.51 ERA, 4.72 xERA, and a 4.85 FIP. His first appearance after the Break did not go well at all, as he allowed five runs on six hits in four innings as the bulk reliever on the 15th. Harris has now allowed 21 runs in his last four appearances and has issued 13 walks in 18.2 innings. He’s allowed a 45.2% Hard Hit% in that span as well. It has definitely been a rough go for him and it could continue, as the southpaw draws a right-handed-heavy Astros lineup. Righties own a .449 SLG against him and have hit five of the six homers he has allowed.

While France has some concerning peripherals and I’m not sure about him long-term, this is a good spot for him. He’s pitching in Oakland, where mistakes are generally minimized. The A’s are battling hard, but Ryan Noda has a 155 wRC+ in the month of July with a .537 SLG and he just hit the IL with a fractured jaw.

The A’s also just traded Shintaro Fujinami to the Orioles, so they’ve lost one of their better relievers in recent weeks. Their bullpen is also up against it tonight, as Trevor May has worked back-to-back days, Sam Moll has worked four of six, and Sam Long has also worked four of the last six and back-to-back days. Oakland doesn’t have a ton of pen depth.

There isn’t a lot to like about today’s card, but I do like Houston on the run line at -1.5 and -120. Their bullpen is more rested to shut it down and the right-handed-heavy lineup should have an advantage over the left-handed Harris.

Pick: Astros Run Line -1.5 (-120)

San Diego Padres (-120, 8.5) at Toronto Blue Jays

Blake Snell will look to keep his insane run going as the Padres take on the Blue Jays. It will be Chris Bassitt for Toronto in this early start at Rogers Centre. San Diego is in search of sweep, as Joe Musgrove and Yu Darvish have held the Jays to just one run in the first two games of this series.

Snell’s numbers of late have been stellar. Or snellar, if you’ll allow me a bad pun. Since May 25, Snell has an 0.62 ERA with a 2.00 FIP over 10 starts covering 58 innings. He has 91 strikeouts against 25 walks and has allowed two runs once and one run twice. That’s a ridiculous run. It’s never going to be by accident to be that good for that long, but what is also interesting is that he has a 24.8% Hard Hit% and a 4.6% Barrel% in that span. So, he’s been a master at his craft. 

The All- Star Break didn’t even slow him down, as he threw five shutout innings against the Phillies with seven strikeouts against three walks. He hasn’t allowed a run in his last three starts over 16 innings and hasn’t allowed a run in five of his last six starts and seven of his last 10.

So, the margin for error for Bassitt is rather thin with a 4.12 ERA, 4.53 xERA and a 4.66 FIP over 115.2 innings pitched. The Break may have helped him, as he recently had a kid and also had a few really rough outings at the tail end of the first half. He allowed two runs on seven hits over six innings against the D-Backs to start the second half. But, it’d be really hard to trust him or the Jays here.

Early start, minimal lead time, probably a minimal edge on this one. It is very interesting to see Snell and the Padres just -120 while playing better and with the run that Blake is on. The Jays are scuffling, but there’s still market respect for them, even with Bassitt, who has been inconsistent.

Chicago White Sox at New York Mets (-165, 9.5)

Boy, was I wrong about Michael Kopech. The Under somehow held on in his start against Atlanta to open up the second half, but he recorded two outs in eight batters with a grand slam, four walks, and a hit by pitch. Kopech was on the IL with some shoulder discomfort going into the Break and he must not have been ready to come back. It was about as ugly of a start as you can possibly get from a pitcher.

So, he’ll try again today against the Mets. We don’t know much about Kopech is since he’s only faced eight batters since June 27 and didn’t make a rehab appearance. He had been pitching rather well for a while until the injury, which came about after he walked seven in his June 27 start against the Angels. His start to the year was so bad that it was going to take a lot to erase those rough outings, but if this is the current version of Kopech that we’re going to see, that’s rather bad.

He threw 119.1 innings in 2022 and 69.1 innings (mostly in relief) in 2021, but he missed all of 2019 and 2020. I’m a bit surprised that the White Sox didn’t let him get his feet wet in the minors coming back from all of those injuries, but he was very effective in 2021 and less effective in 2022, but now it seems he’s fallen off the rails again.

I honestly forgot that the Mets had Jose Quintana until I saw his name pop up for this start. Quintana had a terrific bounce back season last year with a 2.93 ERA, 3.86 xERA and a 2.99 FIP over 165.2 innings of work. But, he hasn’t pitched at the MLB level yet this season due to injury. 

In five rehab starts, Quintana allowed eight earned runs on 14 hits in 15.2 innings, but only the last two were at Triple-A and he allowed seven runs on eight hits in seven innings with seven strikeouts against six walks. I’m not really sure what to expect from him here. The White Sox are 19th in wOBA against lefties at .315 with a 100 wRC+, but they are 20th since June 15 with a .303 wOBA and a 93 wRC+.

Another one with an early start, so not much lead time. I feel like there could be some runs in this game, but the White Sox are hard to trust, which feels like the theme of the day with the pitchers and the lineups going up against them. 

TL; DR Recap

Astros -1.5 (-120)

back to news

Live On Air

Streaming Now: The Handle

play Watch Live radio Listen Live


The Handle: Make sure to look at the NFL schedule before betting. Look ahead games and sandwich spots can lead to teams letting down. View more tips.

James Salinas: Giants (+1.5) vs Seahawks. View more picks.