Shane Baz’s four-pitch mix faces a depleted Angels roster missing Mike Trout, while Ryan Johnson’s 12.83 ERA signals a structural problem, not a small-sample blip. The moneyline at -156 closes off the obvious play — but the run line at +105 prices in uncertainty that the starter gap may not justify.
Shane Baz vs. Ryan Johnson: Baltimore Orioles at Los Angeles Angels Betting Preview
Baltimore is back on the mound in Anaheim tonight, this time with a starter who can actually pitch against an Angels rotation that has run out of viable options. The market has priced Baltimore as a -156 favorite, a number that reflects the quality gap but blows past any reasonable juice threshold. The run line at +105 is where this game gets interesting.
The core of this play is not Baltimore winning — that is nearly a foregone conclusion given what Ryan Johnson has done in 2026. The question is whether Baltimore wins by two or more, and the answer depends on how cleanly Shane Baz handles an Angels lineup missing Mike Trout. The run line at +105 is the price that rewards conviction. If you see a multi-run separation, that’s the number to target.
The Angels are 32-48 with a -41 run differential, one of the worst teams in baseball by any structural measure. Their rotation has been gutted by injuries — Yusei Kikuchi on the 60-day IL, Grayson Rodriguez out, Jack Kochanowicz shelved — and Ryan Johnson is what’s left. The numbers project Baltimore 6.3, Los Angeles 4.5. That 1.8-run separation is not comfortable margin, but it supports the cover.
Game Info & Betting Lines
- Date/Time: Tuesday, June 23, 2026 | 9:38 PM ET
- Venue: Angel Stadium | Park Factor: 0.95 (slightly pitcher-friendly)
- TV: MLB.TV, MASN, Angels.TV
- Away Starter: Shane Baz (4-7, 4.04 ERA, 1.36 WHIP, 7.7 K/9)
- Home Starter: Ryan Johnson (0-2, 12.83 ERA)
- Moneyline: Baltimore -156 / Los Angeles +132
- Run Line: Baltimore -1.5 (+105) / Los Angeles +1.5 (-126)
- Total: 9 (Over +100 / Under -122)
Why This Number Is Off
The market has done its job pricing Baltimore as a heavy favorite — -156 is where a team goes when the starter matchup is this lopsided. The total at 9 is also defensible: Johnson’s 12.83 ERA signals a scoring event, but Angel Stadium’s park factor of 0.95 and Baz’s ability to suppress the Angels’ depleted lineup gives bookmakers enough cover to hold the number steady.
Here’s where the market is slightly wrong: the run line at +105 prices in legitimate uncertainty about a multi-run win. That uncertainty is real — baseball is binary, one-run games happen constantly — but the structural gap between these two starters is extreme enough that the +105 price represents genuine value. You’re getting paid to back something the numbers project as the most likely game shape.
The legitimate case against: Baltimore has significant injury exposure of its own, the Angels showed they can score in bunches as recently as Sunday (9 runs vs. Oakland), and one-run Baltimore wins are a real scenario at roughly 1-in-4 probability. The market knows all of this. What it may be underweighting is just how unplayable Ryan Johnson has been — a 12.83 ERA is not a small-sample fluke, it’s a structural problem — and how locked in Baltimore’s offense looked Monday night when they posted 6 runs against a comparable arm.
What Separates the Pitching
The gap between these two starters is as wide as you’ll find on any MLB slate. Shane Baz enters with a 4.04 ERA across 89 innings, a WHIP of 1.36, and a four-pitch mix that gives him legitimate swing-and-miss capability. His slider generates a 28.1% whiff rate at 87.4 mph, and his curveball is even sharper at 29.6% whiff — the two pitches function as his strikeout sequence against right-handed lineups. His sinker, which he throws 27.8% of the time at 94.2 mph, holds hitters to a .345 xwOBA, a workable number for a pitch designed to generate weak contact. The concern with Baz is his cutter — a .429 xwOBA allowed against a pitch he throws nearly 19% of the time is a real vulnerability. He’s not a shutdown arm. But against an Angels lineup missing Trout and running out to Donovan Walton (.904 OPS in a small sample) and Logan O’Hoppe at the bottom of the order, Baz’s functional stuff is more than enough.
Ryan Johnson is in a completely different category. His Statcast arsenal shows a four-seam sitting at 97.5 mph with a 23.1% whiff rate and a split-finger that generates a remarkable 38.3% whiff and a .195 xwOBA against — on paper, that’s elite secondary stuff. The knuckle curve adds a third dimension at 41.2% whiff. The raw stuff exists. But a 12.83 ERA and an 0-2 record indicate that execution, command, and sequencing are failing catastrophically. Pete Alonso (.453 xwOBA season, 6.7% barrel rate) sits in the three-hole and is exactly the type of high-exit-velocity hitter who punishes command mistakes. Coby Mayo hit a three-run homer Monday night and carries a .391 xwOBA overall this season — and against right-handed pitching like Johnson, his vsRHP xwOBA is .333, a number that still puts pressure on a pitcher who can’t locate. Taylor Ward, who bats leadoff for Baltimore and already went yard here on Monday against his former team, has a .373 xwOBA and a .357 vsRHP split. Johnson’s upside exists in theory; in practice, Baltimore’s lineup is built to exploit every mistake he makes.
Friction: What Has to Go Wrong
Baltimore is carrying a significant injury list into this series. Adley Rutschman is on the 7-day IL with a concussion, Jackson Holliday is day-to-day with a groin issue, Blaze Alexander left Monday’s game with a knee problem and is listed day-to-day, and the rotation depth behind Baz is thin with Kremer, Bassitt, Eflin, and Povich all on IL stints of varying length. If Baz exits early and the Baltimore bullpen is taxed, the Angels’ offense — which erupted for 9 runs against Oakland on Sunday — is capable of staying close. Zach Neto (.411 xwOBA, 6.4% barrel rate) and Jorge Soler (.404 xwOBA, 7.2% barrel rate) are legitimate threats at the top of the Angels’ order, and this lineup can put up crooked numbers in a hurry when the conditions are right.
The run line also carries its own binary risk. A Baltimore moneyline win that ends 3-2 or 4-3 — a perfectly reasonable outcome against a functional bullpen — leaves run-line backers empty-handed. That scenario is why the +105 price exists at all. If you’re only confident in a Baltimore win and not a multi-run margin, the moneyline is the cleaner play even at -156. The run line is the right call only if you believe the starter gap is wide enough to manifest in the final score — and I do, given what Johnson has shown in his two starts.
Run Environment & Game Shape
Angel Stadium’s 0.95 park factor nudges this slightly toward the pitcher’s side, and the total sitting at 9 suggests the market is already accounting for Johnson’s vulnerability while giving some credit to Baz’s ability to keep the Angels in check. The projected 10.8 combined runs implied by the numbers is a meaningful gap above the posted total — that’s where the over at +100 draws its appeal — but the run-line play doesn’t require an over to cash. Baltimore winning 6-4 or 5-3 gets the job done just as cleanly as a blowout, and those are precisely the game shapes that make the most sense given the pitching mismatch and the park environment. A one-run Baltimore win is the primary risk, not a competitive Angels performance. Baz keeping this within two or three runs while the offense does enough damage against a 12.83 ERA starter is the most structurally sound path to a cover.
The Pick: Baltimore Orioles -1.5 (+105) — 2 units, moderate confidence. The starter gap is real, the price is right, and Baltimore’s offense has already demonstrated it can post multi-run margins against this Angels pitching staff. The injury concerns are genuine but manageable, and Johnson’s ERA isn’t hiding anything. Back the Orioles to cover.


