MLB Best Bets Today: Odds, predictions and picks for Monday, July 3rd


MLB schedule today has 10 games

We’ve got 10 games on the baseball betting board to kick off a new week around MLB. It continues to be a real struggle with the article, as a lot of negative variance and bad handicaps have marred the last several weeks worth of write-ups and podcasts. You’ll have bad seasons and bad stretches in this business and this has been one thus far. Confidence will drop as a result and sometimes you can turn a bad situation into a worse one, either by letting it leak over into other aspects of your life or by doing irresponsible things with your wagering.


In other scenarios, cutting one’s losses may be the best course of action, but in my position, that isn’t an option. Content must be created and so I’ll continue to work as hard as possible to climb out of this hole and have something positive to show for the season. If nothing else, even if you don’t follow the picks, I still think there is a lot of good information to pull out of this daily article, especially with the games that don’t end up having picks. It would just be nice if the time and effort put into writing the article would be rewarded and that you would also be rewarded for taking the time to read it and put your trust in me.

Just know that I am diligently trying and digging harder than ever to find bets that make sense and ones that can get us back on the right track. Sometimes I’ve had the right handicap (Eury Perez vs. the Braves; Marcus Stroman vs. the Guardians), but not had a bet or made the wrong bet with an Over instead of a team moneyline or vice versa. As bad as the results are, I don’t feel like I’m too far away. I’m just not making the right decision with the games or the bet types and it is remarkably frustrating.

I realize I’m not exactly selling myself or the article, but I want to be real with all of you and not shy away from how poor the results have been. 

Today is a new day and here are some new write-ups.

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 3 card (odds from DraftKings):

Chicago Cubs (-115, 9) at Milwaukee Brewers

This game has already started, but I had some thoughts to share.

The regression we’ve all been waiting for from Julio Teheran hit last time out, as he allowed seven runs on seven hits in 5.2 innings against the Mets. He gave up four homers after serving up just three dingers in his first six starts since returning to the big leagues with the Brewers. The bad start tied a season-high in Hard Hit% at 40.9% and set a new high with an 18.2% Barrel%. He had only allowed six earned runs over his previous six starts, so let’s see if he can make the right adjustments.

Speaking of adjustments, Drew Smyly needs to make some as well. He, too, just allowed seven runs last time out, but in just 3.2 innings against the Phillies. Smyly has a 3.96 ERA with a 4.61 FIP in 86.1 innings, but he’s been going in reverse for a while now. Over his last six starts, Smyly has a 6.39 ERA with a 6.38 FIP over 31 innings pitched. He has a 20/15 K/BB ratio and has given up seven homers. He had a 2.60 ERA with a 3.61 FIP in his first 10 starts.

So, Smyly is definitely riding the struggle bus into this start. For the season, Milwaukee is dead last in wOBA against lefties at .287 with a 78 wRC+. Since June 1, the Brewers are 17th in wOBA at .305 with an 89 wRC+, so they’ve been better, but still a below average offense against southpaws. Maybe that gives Smyly a shred of hope here.

The Cubs aren’t playing terribly well again, as they’ve dropped six of their last seven. But, I can’t believe in Teheran here, so this is one to skip over.

Cincinnati Reds (-115, 10) at Washington Nationals

Luke Weaver and Jake Irvin will fire it up in this series opener in D.C. These two guys have some ugly numbers, as Irvin comes in with a 4.72 ERA, 4.84 xERA, and a 4.99 FIP over 47.2 innings of work. He’s made 10 starts and allowed four or more runs in four of them. Recently, though, Irvin has been a bit better with five earned runs allowed in 16.2 innings of work with 14 strikeouts against five walks.

Irvin’s peripherals and overall profile aren’t very good, but he’s been able to battle and keep his team in the game recently. He’s only allowed a 36.3% Hard Hit% and a 6.8% Barrel% over 146 batted ball events, so he’s done a really good job of staying off the barrel and limiting hard contact, despite his pitch-to-contact approach. He only has a 17.4% K% with an 11.7% BB%, so those are two bad numbers, but he’s been able to survive them.

Weaver has a 6.96 ERA with a 5.31 xERA and a 5.42 FIP in his 64.2 innings across 13 starts. He’s allowed a .343 BABIP and has a 64.8% LOB%, which is a byproduct of having really poor command. He’s given up 14 homers and 84 hits in his 64.2 innings with a 43.1% Hard Hit% and a 10.6% Barrel%. While he doesn’t have the walk issue that Irvin has, his K% isn’t much higher and his location in the zone is definitely worse.

The Nationals went 6-3 on a three-city road trip to San Diego, Seattle, and Philadelphia, which was quite impressive given that they lost an off day on the front end and got rolled 13-3 in the first game against the Padres. There is a severe talent deficiency on this team, but I can’t say enough about how much they’ve battled this season. I know 34-49 is not a good record at all, but they really fight.

There is a huge discrepancy between these two offenses, though, as the Reds have a 112 wRC+ and the third-ranked wOBA at .349 against righties since June 1, while the Nationals are 25th with a .300 wOBA and an 85 wRC+. It all comes down to how Weaver does for Cincy here and I don’t trust him enough to be effective. He’s allowed at least four runs in nine of 13 starts and 24 runs in his last five tries.

St. Louis Cardinals at Miami Marlins (-135, 8)

The Marlins suffered another noteworthy injury setback yesterday, as Jazz Chisholm Jr. left yesterday’s 6-3 loss to Atlanta with side discomfort. He got hurt on a swing and it looked pretty bad. Additional testing is being done, but I’d expect an IL stint based on his reaction. He had only been back for six games after missing six weeks due to injury, so the Marlins have done fine without him, but he’s a pretty dynamic player when he’s going well.

The Marlins got swept by the Braves in that series, so they’ll be looking to bounce back with Braxton Garrett on the hill. Garrett has been simply outstanding this season. He has a 3.53 ERA with a 4.14 xERA and a 3.29 FIP, but exactly one-third of the runs he has allowed came in one start. Garrett allowed 11 runs on 14 hits in 4.1 innings on May 3 against the Braves. In his other 14 starts and one relief appearance, he has only allowed 22 runs in 77 innings.

While we can’t magically pretend that horrific start didn’t happen, it is worth noting that Garrett has a 2.44 ERA with a 2.58 FIP in his 10 starts since that disaster. He actually struggled against the Diamondbacks in his next start and has a 1.98 ERA with a 2.43 FIP in his last nine starts. The high xERA for Garrett stems from a 45.9% Hard Hit% and a 9.0% Barrel%. Even in his last 10 starts, it is still 44.2% and 8.5%, so he’s just pitched around the hard contact.

The hard contact, though, has mostly been on the ground. For the season, Garrett has a 49.1% GB% and it’s north of 50% in this sample size I keep referencing. He also has an outstanding 27.7% K% and a similarly great 4.5% BB%. He has only allowed six homers aside from that Braves start, so, as I’ve mentioned with guys like Framber Valdez, Bryce Elder, etc., you can work around hard contact on the ground, especially with a low HR rate.

The Cardinals will counter with Miles Mikolas in this one, as he comes in with a 4.44 ERA, 5.24 xERA, and a 4.03 FIP in his 99.1 innings of work. Mikolas only has a 16.1% K%, but his success comes from limiting walks and hard contact. He only has a 5.1% BB% this season and a 34.6% Hard Hit% in his five seasons in the Statcast era.

Mikolas has a career-worst 40.5% HH% this season, which is why he hasn’t had his usual results. However, he’s only given up 10 homers and just four in his last 12 starts, as he has a 3.41 ERA with a 3.53 FIP since April 27. Mikolas is one of many pitchers that came out of the World Baseball Classic and struggled, especially from Team USA. 

He had a tough time in June with a 6.07 ERA, 4.26 FIP, and just 12 strikeouts in 29.2 innings pitched against the Pirates, Reds, Mets, Nationals, and Astros. He’s allowed a 43% Hard Hit% in that span with a .339 BABIP and a 62.8% LOB%.

This game harkens back to what I mentioned in the intro. Garrett has been outstanding. Mikolas is a pitch-to-contact guy who needs a forgiving environment, which is what Marlins Park provides. The Cardinals have actually been bad against lefties lately with a .280 wOBA and a 77 wRC+ since June 1. The Marlins are only 20th in wOBA at .308 since June 1, but have been better at home in that split and in that span.

The Marlins at -130 or the Under 8 at -105. That’s my dilemma here. Miami is 1-9 against Atlanta (outscored 83-29), so they are 47-28 against everybody else. With that in mind, I’ll take the Marlins and hope that Mikolas continues to struggle.

Pick: Marlins -135

Pittsburgh Pirates at Los Angeles Dodgers

Mitch Keller is confirmed for the Pirates, but the Dodgers have not yet named a starter. The Pirates were a ninth-inning comeback on Friday night away from getting swept by the Brewers in a key weekend series, so this game against LA starts a pretty important road trip. With the surging Reds against the Nationals and Milwaukee against the Cubs, the Pirates play seven against the Dodgers and D-Backs heading into the Break.

It would be nice for Keller to set the tone, much like he did last Wednesday against the Padres in a strong effort with six innings of one-run ball. It was Keller’s third start of one run allowed and six or more innings in his last four starts. Naturally, I bet on him for his one bad start in that stretch back on June 17, but he’s made some good adjustments in his last four outings after allowing 15 runs on 25 hits from May 31-June 6.

For the season, Keller owns a 3.34 ERA with a 3.25 FIP and has 118 strikeouts in 105 innings. He’s only allowed 10 homers and only walked 28 guys, so he sets up pretty well against the Dodgers. At least as well as anybody really can. 

I really missed an opportunity on Saturday when I said I really wanted to bet the Royals against the Dodgers, didn’t do it, and then KC won 6-4. Then KC won 9-1 on Sunday in a true getaway day game against a Dodgers team that had arrived in KC at 4 a.m. on Friday morning and was finishing up the road trip. Now the Dodgers are home through the All-Star Break.

Tonight’s start may be close to a game-time decision. Michael Grove is on the taxi squad and ready to be activated if Clayton Kershaw hits the IL with a shoulder issue. Kershaw was just named to his 10th All-Star team and could very well be the starting pitcher if he goes to Seattle. He has a 2.55 ERA with a 3.45 xERA and a 3.54 FIP in 95.1 innings this season. 

He threw six one-hit innings against the Rockies last time out, though he did only have two strikeouts and his first start of the season with a single-digit SwStr%. His spin rates actually went up relative to his previous two starts, which is rare for Coors Field. But, he had a cortisone injection after the game and pulled himself at 79 pitches with the shutout and one-hitter intact.

Guess we’ll see what happens. I didn’t see any clear injury indicators in the spin rates, velocity, or his release point, but something felt off, despite having seven days between starts to begin with, so it does appear that the Dodgers are trying to monitor this closely with a guy who hasn’t thrown more than 126.1 innings since 2019.

Houston Astros at Texas Rangers (-145, 9)

This game has already started, but I had some thoughts to share.

This is an early game, so this handicap won’t have a ton of relevance today, but the Rangers have taken a ton of money in support of Martin Perez, which is about as eye-opening of a line move as I’ve seen all season. Perez has a 4.28 ERA with a 4.88 xERA and a 4.86 FIP, so there are no positive regression signs in the profile. There aren’t many redeeming qualities at all, as his K% is down 5.2% from last season and he has already allowed more homers (13) in 90.1 innings than he allowed last season (11) in 196.1 innings.

The reason behind this line move is that Cristian Javier looks broken. The Astros right-hander has allowed 14 runs on 24 hits in his last four starts and that includes six shutout innings against the Nationals. He only has six strikeouts over those four starts against nine walks. He gave up two homers last start and has allowed 10 runs on 12 hits in his last 6.1 innings. He went seven days between starts, so maybe the Astros have recognized some sort of mechanical or injury-related issue. Perhaps he’s been tipping his pitches.

His slider results have been quite poor lately and that is directly correlated to the decrease in swings and misses. Furthermore, Javier’s K% is down over 11% from last season. The markets don’t like Houston to begin with, but Javier has added all sorts of lighter fluid to the raging desire to fade the Astros.

We’ll see if the money is right and we’ll see if Javier continues to struggle.

Baltimore Orioles (-115, 8.5) at New York Yankees

If anybody is citing trends about performances after a perfect game as justification one way or the other in this game, those are people you want to avoid. Domingo German is coming off of the 24th perfect game in MLB history. German’s was the first in nearly 11 seasons. There were actually three thrown in 2012 and we hadn’t had any since. So, yes, German is coming off of one, but there is not a single shred of relevant data to use for the next game.

German threw only 99 pitches en route to perfection, so it’s not like he had to throw 125 like Matt Cain did back on June 13, 2012 or even 113 like King Felix did that same year. A 99-pitch workload is pretty normal, so I wouldn’t worry about any kind of carryover or fatigue. The craziest part about his perfect game is that he had allowed 17 runs on 15 hits in 5.1 innings prior to that. It literally came out of nowhere. He had allowed 23 hard-hit balls for a 50% Hard Hit% in his previous three starts, including six barrels, but then allowed just three against Oakland and an average exit velocity of 84.1 mph.

German had allowed eight home runs in his previous five starts. So, to be honest, I don’t really know what to think about the perfect game, other than the fact that it came against an A’s offense that isn’t very good in a park that is great for pitchers.

The Orioles are just 18th in wOBA against RHP since June 1 at .311 with a 98 wRC+. Of course, that’s way better than the Yankees, who have a .276 wOBA with a 73 wRC+ in that timeframe against RHP. They’ll draw a righty today in Tyler Wells, who has a 3.21 ERA with a 3.52 xERA and a 4.58 FIP on the season. The high FIP is a byproduct of the 19 homers that Wells has allowed in 92.2 innings pitched. He has a 26.5% K% and a 5.6% BB% with a .184 BA against, so the only problem he’s had this season has been the homer. But, 13 of them have been solo shots, so you can deal with that.

Since he allowed five runs in five innings at Yankee Stadium, Wells has allowed just 13 runs in his last six starts with only 11 earned for a 2.78 ERA with a 3.85 FIP. He has not allowed more than two earned runs in any of those six starts. It is tough to trust Wells in this venue with warm, humid temps as an extreme fly ball guy. I’d look for a situation to possibly live bet Baltimore, though, as Yennier Cano and Felix Bautista are both good to go.

Kansas City Royals at Minnesota Twins (-225, 9)

Rookie left-hander Austin Cox gets the call today for the Royals against the Twins, as these two AL Central rivals square off. The early part of the week provides a big opportunity for the Twins. They face the Royals while the Guardians entertain the Braves, so two very, very different opponents. Cleveland actually finishes the first half with four against the Royals.

Anyway, Cox has a 2.25 ERA with a 4.71 xERA and a 3.72 FIP over 16 innings at the big league level. He’s made one start and six relief appearances. His first start did not go well, as he allowed four runs on four hits with four walks to the aforementioned Guardians back on June 28. He had a 3.83 ERA with a 6.81 FIP in 42.1 innings at Triple-A with a major home run problem, so we’ll see if that comes to the forefront with more starting gigs.

Fortunately for Cox, the Twins have been one of the worst offenses against lefties throughout the season and that trend has continued over the last month and change with a .277 wOBA and a 75 wRC+ since June 1. Of course, the Guardians have also been among the league’s worst and they jumped on Cox in that start.

Joe Ryan goes for Minnesota today in what should be a bounce back spot for him. His ERA is up to 3.44 with a 2.73 xERA and a 3.39 FIP because he allowed six runs in three innings to the Braves. He allowed five home runs in that start and is now up to 13 for the season, with nine of them in his last six starts. He also gave up six runs to the Tigers on June 16, so he’s been struggling to locate here lately.

In those six starts, Ryan has a 5.55 ERA with a 5.11 FIP. He’s allowed 10 barrels and has a 38.6% Hard Hit% against. The Royals, despite all the hard contact that they’ve made, still haven’t been able to figure out their offensive woes. They are 28th in wOBA against RHP since June 1 and are only 26th in overall wOBA in the last 14 days. That being said, Ryan is a fly ball guy struggling with his command and it will be a good night for hitting in Minneapolis.

First pitch temps are forecasted to be in the 90s and some humid weather. The wind will also be blowing out at a 10 mph clip to LF. These two bullpens have some concerns here. Jhoan Duran is unavailable for the Twins after throwing 34 pitches yesterday in a back-to-back. Griffin Jax has also worked back-to-back days.

On the Kansas City side, they traded Aroldis Chapman and are working with a bit of a short pen. Amir Garrett just returned from the IL and has worked two of the last three days. Scott Barlow worked over an inning on Saturday and has had his issues recently. I like some runs to be scored tonight, but I just don’t love the Royals against Ryan. That may just have been the Braves more than anything else.

Atlanta Braves (-140, 8.5) at Cleveland Guardians

We’ve got an interesting pitching matchup tonight between Bryce Elder and Gavin Williams. Elder is having an excellent season with a 2.44 ERA, 3.76 xERA, and a 3.79 FIP. He’s got an 84.6% LOB% that I don’t quite believe in with his 20.5% K%, but he’s been doing a better job of limiting hard contact of late. The big thing for Elder was a high xERA earlier in the season because he was allowing a lot of loud contact, but he was keeping the majority of it on the ground.

Now, he still has his 55.7% GB%, but his Hard Hit% is down to 41.4%. Over his last four starts, his HH% is just 24.3% against the Nationals, Rockies, Phillies, and Twins. As we all know, Cleveland’s offense is quite bad, but they can put a lot of balls in play. Elder has seen a K% drop recently, but his SwStr% is fine, so that’s just a bit of variance. He’s still getting swings and misses, just not with two strikes.

Williams is really stepping up in class here. His first two starts have been against the A’s and Royals. This start is against the Braves, who have like 20 All-Stars and the best offense in baseball. Williams has only allowed four runs on five hits in 12.2 innings, as he’s done a really good job of limiting hard contact, but the swing and miss rate that propelled his stock in the minors has not been as visible with a 9.1% SwStr% in two starts against a couple of the league’s worst offenses at making contact.

Williams hasn’t allowed a barrel yet and has only allowed nine hard-hit balls in 31 batted ball events, so I’ll be extremely curious to see how this goes against Atlanta tonight. It will be oppressively humid in Cleveland, but not very hot and wind won’t be a helping factor, so we’ll see if that curtails offensive production a little bit.

For me, though, I think Atlanta is too cheap here. I’d love to believe in the Williams hype train, but I don’t think he’ll work all that deep into the game and Cleveland’s bullpen has major issues again. Trevor Stephan and Emmanuel Clase have not been sharp. Both guys also threw 27 pitches yesterday. Sam Hentges has worked four of the last five days, so I think he’s an ICOE pitcher today (In Case of Emergency).

The Braves have a deep pen and I think there are other advantages in this series, including Brian Snitker over Terry Francona.

Pick: Braves -140

Los Angeles Angels at San Diego Padres (-200, 8)

Blake Snell and Jaime Barria start this interleague set between the Angels and Padres. I’m sure he’s had a similar run before, but I can’t ever remember Snell being this good at any point in his career. In his last seven starts, Snell has a 0.86 ERA with a 1.98 FIP and a 2.23 xFIP. He’s struck out 66 in 42 innings against 15 walks and has had four straight double-digit strikeout games. He’s allowed just two homers and – maybe the most impressive feat – he’s gone at least six innings in six straight starts.

Snell has allowed a 24.7% Hard Hit% in that span and just a 5.2% Barrel%. He’s been nothing short of incredible and he’s faced some offenses that have been really good against lefties this season like the Nationals, Marlins, Cubs, and Rays, along with the Rockies (at Coors), Giants, and Pirates.

Barria has had a nice season overall, but he’s been a little shaky of late. He allowed five runs on seven hits, including three homers, to the White Sox last time out and failed to strike anybody out over 18 batters faced. He only has six strikeouts over his last four appearances in 68 batters faced. He’s allowed five homers and 11 barrels in that span. Petco Park does do a good job of suppressing power, so we’ll see if he can get back on track here.

Also, Barria went 10 days between appearances prior to that last start, so maybe he’ll fare better here on a regular turn. It doesn’t mean I’ll bet on him here against Snell with the way he’s rolling, but it wouldn’t be surprising to see this game stay under the total. The Padres offense has shown some signs of life lately, so I’m not sure how much I trust Barria.

For some reason, DK Sportsbook didn’t have Snell listed all morning, despite no evidence that his start is in question. So, that was a little strange.

Seattle Mariners at San Francisco Giants (-140, 7)

The lowest total on the board is here with Bryan Woo and Logan Webb, as the Mariners and Giants fire up an interleague set. Woo has a 4.37 ERA with a 2.46 xERA and a 2.98 FIP in his 22.2 innings of work across five starts to begin his MLB career. He allowed six runs to the Rangers in his first start and has allowed five earned runs total in his other four starts. He’s struck out 32 and walked six in 96 batters faced and has a 6.9% Barrel% with a 34.5% Hard Hit%, including three straight games with a HH% under 29%.

His fastball velo in his debut was 96.3 mph, but it sits at 95.2 mph for the season, so it seems pretty clear that the kid was amped up and overthrowing a bit in that start against Texas. Since then, it’s been pretty smooth sailing for him and this total would imply that another good start is expected. He is a fly ball guy against a Giants lineup that hits for pretty good power. Also, he has allowed a .412/.459/.794 slash and a .523 wOBA to lefties in 37 plate appearances. He’s dominated righties, but the Giants do have quite a few left-handed sticks to deploy.

His other starts have been against the Angels, White Sox, Yankees, and Nationals, who rank 6th, 5th, 7th, and 28th in R vs. R plate appearances. Last season, lefties had a .338/.442/.588 slash against Woo in 95 PA, so it does seem like he has some platoon split issues. The Giants are fifth in LHB vs. RHP plate appearances and are 11th in wOBA in that split with a 114 wRC+.

Webb heads into this start with a 3.43 ERA, 3.65 xERA, and a 3.55 FIP in his 110.1 innings of work. He’s had a couple of bumpy outings recently, including five runs allowed against the Blue Jays last time out, but he’s back at home now and I think that should be good for him. Webb has allowed a 50.4% Hard Hit% in his last seven starts, but five of them have come on the road. He has a 4.24 ERA in 63.2 innings on the road with a .308 wOBA against compared to a 2.31 ERA with a .275 wOBA against in 46.2 innings at home.

His K% at home is 25.3%, which is relevant against a Mariners team that has the second-highest K% against RHP at 25.6%. The Mariners do walk at a high rate, but Webb has a 4.8% BB% this season. The Mariners have a 26% K% against righties since June 1, so it isn’t getting any better.

Admittedly, this is another game where I was torn between the Over 7 and the Giants moneyline. Webb is coming off of his lowest velocity start of the season, but he did right the ship and throw four shutout innings to finish his last start. I think the Giants can make the necessary adjustments. Plus, I think it’s a lot easier to find weaknesses in lineups that do swing and miss a lot and the Giants are as smart as any organization in baseball. Seattle strikes out way more than Toronto, who has a borderline top-five offense against righties. Webb also faced the Diamondbacks, who are a top-five offense by wOBA against RHP, in the start prior.

I’ll lay the price with the Giants, who should get LaMonte Wade Jr. back in the starting lineup today and hopefully Michael Conforto as well. You can find this line better at some shops, but I think it’s the right play.

Pick: Giants -140

TL;DR Recap

Marlins -135
Braves -140
Giants -140