Kansas City Royals: lineup and rotation patterns
What 2023–2025 Retrosheet data tells us about how the Kansas City Royals set their lineups and used their pitchers.
A record of past seasons, not a forecast: 2027 projections will be added once rosters take shape. About these team pages.
Our read on the Kansas City Royals
Kansas City used more different players at DH than any other club in 2025: 18 started there, and the most frequent was Salvador Perez with only 38 starts (23% of games). Perez was also the main catcher (89 starts); in day games after night games he started at catcher only 24% of the time, against 65% otherwise.
Royals starters worked on short rest more than almost anyone: 44% of starts came on four days of rest or fewer, second highest in the league, behind only the Yankees. Michael Wacha led with 31 starts. Jonathan India led off 103 times, and Kyle Isbel had the clearest platoon-style split (84% of games against right-handed starters, 30% against left-handers). The club went from 56–106 in 2023 to 86–76 in 2024 and 82–80 in 2025.
Where the Kansas City Royals ranked in 2025
| Kansas City Royals | Avg | Rank | |
|---|---|---|---|
| Wins | 82 | 81.0 | 15 |
| Different batting orders | 128 | 135.9 | 24 |
| Same order as previous game | 3.7% | 4.8% | T-14 |
| Most uses of one order | 6 | 4.8 | T-4 |
| Same leadoff as previous game | 76% | 75% | 17 |
| Players in the lineup | 23 | 24.4 | T-19 |
| Games vs LHP | 33 | 42.6 | T-28 |
| Lefty hitters vs RHP | 4.0 | 3.6 | 13 |
| Lefty hitters vs LHP | 2.5 | 2.0 | 8 |
| Starting pitchers | 13 | 13.2 | T-16 |
| Top-five starters' share | 78% | 76% | T-12 |
| Starts on 4 days' rest or less* | 44% | 31% | 2 |
| Starts after 10+ days* | 4% | 5% | 18 |
| Primary catcher's starts | 55% | 58% | 18 |
| Players at DH | 18 | 10.7 | 1 |
| Top DH's share | 23% | 51% | T-28 |
Three seasons at a glance
| Season | W–L | Games vs RHP / LHP starters | Different batting orders | Different players in the starting lineup | Starting pitchers used |
|---|---|---|---|---|---|
| 2023 | 56–106 | 121 / 41 | 158 | 24 | 23 |
| 2024 | 86–76 | 125 / 37 | 137 | 21 | 9 |
| 2025 | 82–80 | 129 / 33 | 128 | 23 | 13 |
Who played where, 2023–2025
| Position | 2023 | 2024 | 2025 |
|---|---|---|---|
| C | Salvador Perez (90) | Salvador Perez (90) | Salvador Perez (89) |
| 1B | Nick Pratto (64) | Vinnie Pasquantino (103) | Vinnie Pasquantino (126) |
| 2B | Michael Massey (104) | Michael Massey (70) | Jonathan India (68) |
| 3B | Maikel Garcia (100) | Maikel Garcia (111) | Maikel Garcia (130) |
| SS | Bobby Witt (147) | Bobby Witt (160) | Bobby Witt (153) |
| LF | MJ Melendez (55) | MJ Melendez (112) | John Rave (26) |
| CF | Kyle Isbel (82) | Kyle Isbel (119) | Kyle Isbel (118) |
| RF | MJ Melendez (68) | Hunter Renfroe (105) | Jac Caglianone (51) |
| DH | Edward Olivares (42) | Nelson Velazquez (38) | Salvador Perez (38) |
Month by month in 2025
| Month | Games | W–L | Games vs LHP | Different batting orders | Starting pitchers used | First start of the season |
|---|---|---|---|---|---|---|
| March/April | 31 | 16–15 | 4 | 25 | 6 | – |
| May | 28 | 15–13 | 6 | 25 | 7 | Dairon Blanco, John Rave, Luke Maile, Nick Loftin |
| June | 26 | 8–18 | 5 | 18 | 6 | Jac Caglianone |
| July | 24 | 15–9 | 6 | 19 | 7 | Adam Frazier, Randal Grichuk |
| August | 28 | 16–12 | 5 | 19 | 7 | Mike Yastrzemski |
| September | 25 | 12–13 | 7 | 23 | 7 | Carter Jensen |
Batting order and positions in 2025
Most starts by batting slot: 1. Jonathan India (103); 2. Bobby Witt (157); 3. Vinnie Pasquantino (132); 4. Salvador Perez (73); 5. Salvador Perez (77); 6. Jac Caglianone (42); 7. Nick Loftin (26); 8. Freddy Fermin (35); 9. Kyle Isbel (113).
| Position | Next most starts (leader: see above) | Players who started there | Starter changed |
|---|---|---|---|
| C | Freddy Fermin (51) | 4 | 57% |
| 1B | Salvador Perez (28) | 5 | 40% |
| 2B | Michael Massey (57) | 7 | 50% |
| 3B | Jonathan India (17) | 6 | 29% |
| SS | Maikel Garcia (9) | 2 | 7% |
| LF | Drew Waters (24) | 13 | 72% |
| CF | Drew Waters (17) | 7 | 45% |
| RF | Mike Yastrzemski (29) | 11 | 53% |
| DH | Vinnie Pasquantino (34) | 18 | 89% |
Against left- and right-handed starters
| Opposing starter | Left-handed | Right-handed | Switch-hitters |
|---|---|---|---|
| Right-handed | 4.0 | 4.6 | 0.4 |
| Left-handed | 2.5 | 6.3 | 0.2 |
| Player | Bats | Start rate vs RHP (starts) | Start rate vs LHP (starts) |
|---|---|---|---|
| Kyle Isbel | left-handed | 84% (108) | 30% (10) |
Gaps may reflect timing, not a platoon (guide).
Rotation and rest in 2025
| Pitcher | Throws | Starts | First start | Last start | Median days of rest | Starts on 4 days or fewer |
|---|---|---|---|---|---|---|
| Michael Wacha | RHP | 31 | March 30, 2025 | Sept. 27, 2025 | 5 | 11 |
| Seth Lugo | RHP | 26 | March 29, 2025 | Aug. 29, 2025 | 4 | 15 |
| Michael Lorenzen | RHP | 26 | April 1, 2025 | Sept. 25, 2025 | 4 | 13 |
| Noah Cameron | LHP | 24 | April 30, 2025 | Sept. 26, 2025 | 5 | 9 |
| Kris Bubic | LHP | 20 | March 31, 2025 | July 26, 2025 | 5 | 8 |
| Cole Ragans | LHP | 13 | March 27, 2025 | Sept. 28, 2025 | 5 | 4 |
| Ryan Bergert | RHP | 8 | Aug. 5, 2025 | Sept. 13, 2025 | 4 | 5 |
| Stephen Kolek | RHP | 5 | Aug. 30, 2025 | Sept. 24, 2025 | 5.5 | 1 |
| Rest before start | Kansas City Royals | League average |
|---|---|---|
| 4 days or fewer | 44% | 31% |
| 5 days | 34% | 49% |
| 6 to 10 days | 17% | 15% |
| More than 10 days | 4% | 5% |
Catcher and DH in 2025
| Games | Team-games | Primary catcher started | League average |
|---|---|---|---|
| All games | 162 | 55% | 58% |
| Day game after a night game | 38 | 24% | 44% |
| All other games | 124 | 65% | – |
| Player | DH starts | Share of DH starts |
|---|---|---|
| Salvador Perez | 38 | 23% |
| Vinnie Pasquantino | 34 | 21% |
| Jonathan India | 27 | 17% |
Most common lineups in 2025
The most common exact batting order was used 6 times, more than the club average of 4.8.
Lineup 1 (6 times, last on July 21, 2025): 1. Jonathan India DH, 2. Bobby Witt SS, 3. Vinnie Pasquantino 1B, 4. Maikel Garcia 3B, 5. Salvador Perez C, 6. Jac Caglianone RF, 7. Nick Loftin 2B, 8. John Rave LF, 9. Kyle Isbel CF.
Lineup 2 (5 times, last on June 30, 2025): 1. Jonathan India 2B, 2. Bobby Witt SS, 3. Maikel Garcia 3B, 4. Vinnie Pasquantino 1B, 5. Salvador Perez C, 6. Jac Caglianone DH, 7. Drew Waters LF, 8. John Rave RF, 9. Kyle Isbel CF.
Lineup 3 (5 times, last on Aug. 22, 2025): 1. Mike Yastrzemski RF, 2. Bobby Witt SS, 3. Vinnie Pasquantino 1B, 4. Maikel Garcia 3B, 5. Salvador Perez C, 6. Adam Frazier 2B, 7. Jonathan India DH, 8. John Rave LF, 9. Kyle Isbel CF.
Top nine vs RHP (9/129): Bobby Witt, Jac Caglianone, John Rave, Jonathan India, Kyle Isbel, Maikel Garcia, Nick Loftin, Salvador Perez, Vinnie Pasquantino.
Top nine vs LHP (3/33): Bobby Witt, Drew Waters, Freddy Fermin, Hunter Renfroe, Jonathan India, Maikel Garcia, Mark Canha, Salvador Perez, Vinnie Pasquantino.
Our own calculations from Retrosheet game logs, regular seasons only: notes, methodology.