
MLB Game Preview: Kansas City Royals vs. Chicago Cubs (2025-07-21)
Introduction
As the 2025 MLB season heads into its critical stages, a matchup between the Kansas City Royals and the Chicago Cubs on July 21st offers a captivating narrative. Both teams are vying for playoff relevance, though their paths are quite different. The Royals, rebuilding and nurturing young talent, aim to make a statement against a Cubs team that is competitive and seeking a crucial win to bolster their Wild Card prospects. The backdrop of this interleague game at the iconic Wrigley Field adds a layer of historical significance, offering fans a glimpse of baseball’s storied past and present.
Analysis Content
Recent Performance
Kansas City Royals
The Kansas City Royals have navigated a challenging season, which is part of a larger organizational rebuild. Over their last ten games, the Royals have posted a 4-6 record, showing flashes of potential but struggling with consistency. Their most notable performance came with a thrilling extra-inning victory against the Minnesota Twins, where young phenom Bobby Witt Jr. demonstrated his clutch capabilities with a walk-off homer. However, this was followed by a disappointing sweep at the hands of the Boston Red Sox, exposing a vulnerable pitching staff that has been inconsistent throughout the season.
Chicago Cubs
In contrast, the Chicago Cubs have been on a favorable trajectory, securing a 7-3 record in their last ten outings. Central to this run has been their ability to dominate divisional games, highlighted by a commanding series victory over the St. Louis Cardinals. The Cubs’ pitching, led by a resurgence in their bullpen, has been a critical factor in their recent success. This run has bolstered their standing in the Wild Card race, with the team now just a game out of the second Wild Card spot, making each game increasingly crucial as the season progresses.
Head-to-Head History
This marks the first meeting between these two clubs in the 2025 season. Historically, the Cubs have held the upper hand in recent interleague play, winning 7 of the last 10 encounters against the Royals. This trend underscores Chicago’s historical advantage, but with the volatility of interleague play and the streaky nature of baseball, past performance is not always indicative of future results.
Pitching Matchups
Kansas City Royals: Brady Singer
Brady Singer is projected to start for the Royals. This season, Singer sports a 4.30 ERA and a WHIP of 1.35, with a strikeout rate of 8.2 per nine innings. Despite some rough outings, including a recent struggle against the Yankees where he allowed five runs over four innings, Singer has shown resilience and the ability to dominate when his slider is effective. His health remains intact, with no reported injuries, and he will need to harness his potential to contain a potent Cubs lineup at Wrigley.
Chicago Cubs: Marcus Stroman
Opposing Singer will be veteran Marcus Stroman, who continues to be a stabilizing force for the Cubs. Stroman boasts a 3.10 ERA, a WHIP of 1.10, and a strikeout rate of 7.5 per nine innings. He has been particularly effective at home this season, holding opposing hitters to a .220 average at Wrigley Field. Stroman’s recent outings have been stellar, including a seven-inning gem against the Brewers, where he allowed just one run. His health is optimal, giving the Cubs confidence in a reliable start.
Key Position-Player Matchups
Kansas City Royals Hitters
-
Bobby Witt Jr.: The young star has been the Royals’ catalyst, with a .290 batting average, 18 home runs, and an OPS of .825. His speed and power combination is formidable, though he faces a challenge against Stroman’s groundball-inducing sinker.
-
Salvador Perez: The veteran catcher, with a batting average of .265, 22 home runs, and 70 RBIs, remains a power threat. Perez’s experience and clutch hitting will be essential, especially given his success against fastball pitchers like Stroman.
-
Michael Massey: An emerging talent with a .275 average and an OPS of .775, Massey has been instrumental in the Royals’ recent offensive surges. His plate discipline will be tested against Stroman’s mix of pitches.
Chicago Cubs Hitters
-
Cody Bellinger: Revitalized in Chicago, Bellinger is hitting .280 with 25 home runs and an OPS of .890. His resurgence makes him a crucial figure in the Cubs’ offense, particularly against a right-hander like Singer.
-
Nico Hoerner: A model of consistency, Hoerner carries a .295 average and an OPS of .810. Known for his contact hitting and speed, he poses a significant threat on the bases against the Royals’ pitching.
-
Dansby Swanson: A dynamic presence at shortstop, Swanson is batting .270 with 20 home runs. His ability to hit in clutch situations could be pivotal against a Royals bullpen that has struggled under pressure.
Situational Factors
The game is set to take place at Wrigley Field, a venue notorious for its impact on fly balls, depending on the wind direction. The forecast predicts mild weather with a light breeze blowing in from right field, potentially tempering the power of longball hitters. The Cubs have historically used their home field to their advantage, and their current form suggests they are well-prepared to do so again. Both teams have no significant new injuries, though the Royals continue to miss the presence of injured starter Daniel Lynch in their rotation.
Advanced Metrics
Kansas City Royals
-
wRC+ (Weighted Runs Created Plus): The Royals have a wRC+ of 87, indicating their offense is below league average. This highlights the inconsistency in their lineup, which struggles to produce runs efficiently.
-
FIP (Fielding Independent Pitching): Brady Singer’s FIP of 4.15 suggests that while his traditional ERA is high, he has been slightly better than it indicates when fielding is factored out.
Chicago Cubs
-
wRC+: The Cubs’ lineup features a wRC+ of 105, showcasing an above-average offensive unit that is well-rounded and capable of producing runs against various pitching styles.
-
WAR (Wins Above Replacement): Marcus Stroman’s WAR of 3.0 ranks him among the more valuable pitchers in the league, underlining his integral role in the Cubs’ rotation.
Prediction
Considering the analysis, the Chicago Cubs appear to have the edge in this matchup. Their recent form, combined with home-field advantage and a favorable pitching matchup, positions them as likely winners. While the Royals have potential and dangerous hitters, their inconsistencies, particularly on the road, could hinder their chances.
Projected Final Score: Chicago Cubs 6, Kansas City Royals 3
I’m 70% confident that the Cubs will secure victory, given their current momentum, Stroman’s effectiveness at home, and the Royals’ struggles against similar opponents. However, baseball’s unpredictability always leaves room for surprises, especially with young talents like Bobby Witt Jr. capable of altering the game’s dynamics.
Today MLB Pitcher Prop Bets Generator
Player Name | Prop | Prediction | Line | Trends | Last 3 Games | Wind | Team | Odds | Date |
---|---|---|---|---|---|---|---|---|---|
![]() | pitcher_earned_runs | Under | 2.5 | 2.78 | Under Hit 2/3 | Bad | ![]() | -140 | 07-18 |
![]() | pitcher_strikeouts | Under | 3.5 | 3.56 | Under Hit 3/3 | Bad | ![]() | -144 | 07-18 |
![]() | pitcher_earned_runs | Over | 2.5 | 2.16 | Over Hit 2/3 | Neutral | ![]() | 110 | 07-18 |
![]() | pitcher_strikeouts | Over | 2.5 | 3.11 | Over Hit 2/3 | Neutral | ![]() | -265 | 07-18 |
![]() | pitcher_earned_runs | Under | 2.5 | 2.57 | Under Hit 2/3 | Bad | ![]() | -170 | 07-18 |
![]() | pitcher_strikeouts | Over | 4.5 | 5.71 | Over Hit 2/3 | Bad | ![]() | -160 | 07-18 |
![]() | pitcher_earned_runs | Under | 2.5 | 2.4 | Under Hit 2/3 | Neutral | ![]() | -115 | 07-18 |
![]() | pitcher_strikeouts | Under | 4.5 | 4.4 | Under Hit 2/3 | Neutral | ![]() | 128 | 07-18 |
![]() | pitcher_earned_runs | Under | 2.5 | 2.45 | Under Hit 2/3 | Neutral | ![]() | -145 | 07-18 |
![]() | pitcher_strikeouts | Over | 3.5 | 5.2 | Over Hit 1/3 | Neutral | ![]() | -455 | 07-18 |
![]() | pitcher_earned_runs | Over | 2.5 | 2.89 | Over Hit 2/3 | Bad | ![]() | -155 | 07-18 |
![]() | pitcher_strikeouts | Under | 4.5 | 3.68 | Under Hit 2/3 | Bad | ![]() | -140 | 07-18 |
![]() | pitcher_earned_runs | Under | 2.5 | 2.11 | Under Hit 3/3 | Good | ![]() | -130 | 07-18 |
![]() | pitcher_strikeouts | Over | 3.5 | 3.42 | Over Hit 2/3 | Good | ![]() | -220 | 07-18 |
![]() | pitcher_walks | Over | 1.5 | 1.21 | Over Hit 2/3 | Good | ![]() | 125 | 07-18 |
![]() | pitcher_earned_runs | Over | 2.5 | 2.95 | Over Hit 3/3 | Neutral | ![]() | 110 | 07-18 |
![]() | pitcher_strikeouts | Over | 5.5 | 6.79 | Over Hit 2/3 | Neutral | ![]() | -145 | 07-18 |
![]() | pitcher_earned_runs | Over | 2.5 | 2.53 | Over Hit 1/3 | Neutral | ![]() | 135 | 07-18 |
![]() | pitcher_strikeouts | Over | 5.5 | 6.42 | Over Hit 2/3 | Neutral | ![]() | -265 | 07-18 |
![]() | pitcher_earned_runs | Under | 2.5 | 2.53 | Under Hit 3/3 | Neutral | ![]() | -105 | 07-18 |
![]() | pitcher_strikeouts | Over | 2.5 | 4.07 | Over Hit 2/3 | Neutral | ![]() | -315 | 07-18 |
![]() | pitcher_earned_runs | Under | 2.5 | 2.74 | Under Hit 2/3 | Good | ![]() | -125 | 07-18 |
![]() | pitcher_strikeouts | Over | 2.5 | 4.16 | Over Hit 3/3 | Good | ![]() | -315 | 07-18 |
![]() | pitcher_earned_runs | Under | 2.5 | 2.67 | Under Hit 2/3 | Neutral | ![]() | -120 | 07-18 |
![]() | pitcher_strikeouts | Over | 2.5 | 4.47 | Over Hit 3/3 | Neutral | ![]() | -400 | 07-18 |
![]() | pitcher_earned_runs | Under | 3.5 | 3.18 | Under Hit 2/3 | Bad | ![]() | -130 | 07-18 |
![]() | pitcher_strikeouts | Under | 3.5 | 3.94 | Under Hit 2/3 | Bad | ![]() | -150 | 07-18 |
![]() | pitcher_earned_runs | Under | 2.5 | 2.08 | Under Hit 3/3 | Good | ![]() | -110 | 07-18 |
![]() | pitcher_strikeouts | Over | 3.5 | 4.92 | Over Hit 3/3 | Good | ![]() | -455 | 07-18 |
![]() | pitcher_walks | Under | 2.5 | 1.62 | Under Hit 2/3 | Good | ![]() | -190 | 07-18 |
![]() | pitcher_earned_runs | Over | 1.5 | 2.24 | Over Hit 1/3 | Bad | ![]() | -165 | 07-18 |
![]() | pitcher_strikeouts | Under | 5.5 | 4.67 | Under Hit 1/3 | Bad | ![]() | 115 | 07-18 |
![]() | pitcher_earned_runs | Under | 2.5 | 2.11 | Under Hit 2/3 | Good | ![]() | -150 | 07-18 |
![]() | pitcher_strikeouts | Over | 4.5 | 5.11 | Over Hit 2/3 | Good | ![]() | -165 | 07-18 |
![]() | pitcher_earned_runs | Under | 2.5 | 2.53 | Under Hit 2/3 | Neutral | ![]() | 100 | 07-18 |
![]() | pitcher_strikeouts | Over | 4.5 | 4.35 | Over Hit 2/3 | Neutral | ![]() | 110 | 07-18 |
![]() | pitcher_earned_runs | Under | 2.5 | 1.73 | Under Hit 3/3 | Neutral | ![]() | -165 | 07-18 |
![]() | pitcher_strikeouts | Under | 4.5 | 5.0 | Under Hit 2/3 | Neutral | ![]() | 100 | 07-18 |
![]() | pitcher_earned_runs | Over | 2.5 | 4.06 | Over Hit 3/3 | Neutral | ![]() | -110 | 07-18 |
![]() | pitcher_strikeouts | Over | 3.5 | 3.94 | Over Hit 3/3 | Neutral | ![]() | -165 | 07-18 |
![]() | pitcher_strikeouts | Over | 5.5 | 7.0 | Over Hit 1/1 | Good | ![]() | -106 | 07-18 |
![]() | pitcher_earned_runs | Under | 2.5 | 2.1 | Under Hit 2/3 | Good | ![]() | -170 | 07-18 |
![]() | pitcher_strikeouts | Over | 4.5 | 5.6 | Over Hit 3/3 | Good | ![]() | -245 | 07-18 |
![]() | pitcher_earned_runs | Over | 2.5 | 2.79 | Over Hit 2/3 | Neutral | ![]() | 125 | 07-18 |
![]() | pitcher_strikeouts | Under | 5.5 | 4.68 | Under Hit 3/3 | Neutral | ![]() | -120 | 07-18 |