Luis Castillo or Tyler Mahle
Baseball Stats Comparison
See which player would win in a trade View Trade Analyzer
| Luis Castillo SP - SEA | Tyler Mahle SP - SF | |
| 2026 Stats | ||
| Games Played | 14 | 11 |
| Games Started | 12 | 11 |
| Innings Pitched | 66.2 | 56.2 |
| Wins | 2 | 1 |
| Losses | 6 | 7 |
| Saves | 0 | 0 |
| Blown Saves | 1 | 0 |
| Holds | 1 | 0 |
| Hits Allowed | 66 | 63 |
| Earned Runs | 37 | 38 |
| Home Runs Allowed | 9 | 11 |
| Strikeouts | 65 | 57 |
| Walks | 25 | 24 |
| ERA | 5.00 | 6.04 |
| WHIP | 1.37 | 1.54 |
| Luis Castillo SP - SEA | Tyler Mahle SP - SF | |
| 2026 Projections | ||
| Games Played | 30 | 24 |
| Games Started | 30 | 23 |
| Innings Pitched | 175.5 | 129.8 |
| Wins | 11 | 7 |
| Losses | 9 | 8 |
| Saves | 0 | 0 |
| Blown Saves | 0 | 0 |
| Holds | 0 | 0 |
| Hits Allowed | 159 | 124 |
| Earned Runs | 73 | 59 |
| Home Runs Allowed | 24 | 15 |
| Strikeouts | 165 | 105 |
| Walks | 49 | 40 |
| ERA | 3.72 | 4.07 |
| WHIP | 1.19 | 1.26 |
| Luis Castillo SP - SEA | Tyler Mahle SP - SF | |
| News | ||
| Luis Castillo will pitch in a piggyback role behind Bryce Miller on Friday. Ari Koslow Wed, Jun 17th | Tyler Mahle threw 63 pitches over three innings in a rehab start on Tuesday for Triple-A Sacramento. Ari Koslow Wed, Jun 17th | |
| Luis Castillo allowed five runs (two earned) on seven hits over 5 2/3 innings with four strikeouts and two walks in a loss on Saturday against the Nationals. Ari Koslow Sun, Jun 14th | Tyler Mahle will make a rehab start on Tuesday. Ari Koslow Tue, Jun 16th | |
| Luis Castillo allowed one run on two hits over 5 2/3 innings with five strikeouts and one walk in a no-decision on Sunday against the Tigers. Ari Koslow Mon, Jun 8th | Tyler Mahle is scheduled to make a rehab start with Triple-A Sacramento on Sunday. Nicholas Rodriguez Sun, Jun 14th | |
| Luis Castillo will start Sunday's series finale against the Tigers. Ari Koslow Wed, Jun 3rd | The Giants placed Tyler Mahle on the 15-day injured list. Ari Koslow Fri, May 29th | |
| Luis Castillo allowed two runs (one earned) on two hits over five innings with three strikeouts and two walks in a win on Sunday against the Diamondbacks. Ari Koslow Mon, Jun 1st | Tyler Mahle allowed three earned runs on three hits and three walks while striking out three over five innings in Tuesday's loss to the Diamondbacks. Chris Schommer Wed, May 27th | |
| Notes | ||
| Luis Castillo remains a reliable innings-eater, but his 2025 profile showed continued erosion in strikeout rate (21.7% K%) and rising hard contact (46.5% HardHit), limiting his fantasy ceiling. Projections reflect more of the same: solid ratios and workload, but middling strikeout totals compared to the top fantasy arms. Castillo is still a dependable rotation anchor in deeper formats, though fantasy managers should no longer pay for peak-era upside. Kelly Kirby - FantasyPros | ||
| His age is increasing and his strikeout rate is plummeting - a disastrous combination for a pitcher. There are more talented, lively, and exciting arms being drafted behind him with more upside that I strongly prefer. Anthony Gambale - Roto Street Journal | ||
| Luis Castillo SP - SEA | Tyler Mahle SP - SF | |||||
| Date | Opp | Opp Pitcher | VBR | Opp | Opp Pitcher | VBR |
|---|---|---|---|---|---|---|
| Thu, Mar 26th | vs CLE | Tanner Bibee (2-7) | #37 |   |   |   |
| Fri, Mar 27th | vs CLE | Gavin Williams (9-3) | #28 | vs NYY | Cam Schlittler (7-3) | #38 |
| Sat, Mar 28th | vs CLE | Joey Cantillo (5-3) | #104 | vs NYY | Will Warren (7-1) | #64 |
| Sun, Mar 29th | vs CLE | Slade Cecconi (3-5) | #99 |   |   |   |
| Mon, Mar 30th | vs NYY | Ryan Weathers (2-5) | #78 | @ SD | Walker Buehler (4-3) | #204 |
| Tue, Mar 31st | vs NYY | Max Fried (4-3) | #34 | @ SD | German Marquez (3-2) | #341 |
| Wed, Apr 1st | vs NYY | Cam Schlittler (7-3) | #38 | @ SD | Nick Pivetta (1-2) | #139 |
| Fri, Apr 3rd | @ LAA | Reid Detmers (3-5) | #31 | vs NYM | Nolan McLean (3-4) | #35 |
| Sat, Apr 4th | @ LAA | Jack Kochanowicz (2-5) | vs NYM | Clay Holmes (4-4) | #158 | |
| Sun, Apr 5th | @ LAA | George Klassen (0-1) | #353 | vs NYM | Kodai Senga (0-5) | #117 |
| Mon, Apr 6th | @ TEX | Jacob deGrom (5-4) | #8 | vs PHI | Andrew Painter (1-7) | #194 |
| Tue, Apr 7th | @ TEX | Nathan Eovaldi (6-7) | #21 | vs PHI | Cristopher Sanchez (8-3) | #4 |
| Wed, Apr 8th | @ TEX | MacKenzie Gore (4-6) | #49 | vs PHI | Aaron Nola (3-4) | #40 |
| Fri, Apr 10th | vs HOU | Tatsuya Imai (3-3) | #131 | @ BAL | Shane Baz (4-6) | #84 |
| Sat, Apr 11th | vs HOU | Lance McCullers Jr. (2-3) | #224 | @ BAL | Chris Bassitt (4-4) | #157 |
| Sun, Apr 12th | vs HOU | Cody Bolton (0-1) | #413 | @ BAL | Cade Povich (1-1) | #251 |
| Mon, Apr 13th | vs HOU | Mike Burrows (3-8) | #163 |   |   |   |
| Tue, Apr 14th | @ SD | Michael King (4-6) | #39 | @ CIN | Brady Singer (3-6) | #143 |
| Wed, Apr 15th | @ SD | Randy Vasquez (6-4) | #205 | @ CIN | Rhett Lowder (3-3) | #180 |
| Thu, Apr 16th | @ SD | Walker Buehler (4-3) | #204 | @ CIN | Chase Burns (8-1) | #23 |
| Fri, Apr 17th | vs TEX | Jacob deGrom (5-4) | #8 | @ WSH | Zack Littell (6-5) | #170 |
| Sat, Apr 18th | vs TEX | Nathan Eovaldi (6-7) | #21 | @ WSH | Cade Cavalli (4-4) | #87 |
| Sun, Apr 19th | vs TEX | MacKenzie Gore (4-6) | #49 | @ WSH | PJ Poulin (3-0) | #261 |
| Mon, Apr 20th | vs ATH | J.T. Ginn (5-3) | #118 |   |   |   |
| Tue, Apr 21st | vs ATH | Jacob Lopez (4-3) | #227 | vs LAD | Yoshinobu Yamamoto (7-4) | #12 |
| Wed, Apr 22nd | vs ATH | Aaron Civale (5-2) | #197 | vs LAD | Shohei Ohtani (6-2) | #1 |
| Fri, Apr 24th | @ STL | Andre Pallante (8-4) | #133 | vs MIA | Sandy Alcantara (6-4) | #59 |
| Sat, Apr 25th | @ STL | Matthew Liberatore (3-3) | #113 | vs MIA | Eury Perez (3-6) | #108 |
| Sun, Apr 26th | @ STL | Michael McGreevy (3-5) | #86 | vs MIA | Max Meyer (7-0) | #55 |
| Mon, Apr 27th | @ MIN | Connor Prielipp (2-4) | #101 |   |   |   |
| Tue, Apr 28th | @ MIN | Joe Ryan (4-3) | #16 | @ PHI | Jesus Luzardo (6-4) | #11 |
| Wed, Apr 29th | @ MIN | Taj Bradley (5-3) | #71 |   |   |   |
| Fri, May 1st | vs KC | Cole Ragans (1-4) | #63 | @ TB | Shane McClanahan (6-4) | #24 |
| Sat, May 2nd | vs KC | Seth Lugo (2-4) | #103 | @ TB | Griffin Jax (1-5) | #58 |
| Sun, May 3rd | vs KC | Kris Bubic (3-2) | #93 | @ TB | Steven Matz (4-4) | #174 |
| Mon, May 4th | vs ATL | JR Ritchie (1-1) | #246 | vs SD | Randy Vasquez (6-4) | #205 |
| Tue, May 5th | vs ATL | Bryce Elder (5-4) | #107 | vs SD | Walker Buehler (4-3) | #204 |
| Wed, May 6th | vs ATL | Martin Perez (5-3) | #160 | vs SD | Bradgley Rodriguez | |
| Fri, May 8th | @ CWS | Sean Burke (3-4) | #136 | vs PIT | Carmen Mlodzinski (4-3) | #132 |
| Sat, May 9th | @ CWS | Anthony Kay (6-1) | #173 | vs PIT | Braxton Ashcraft (5-3) | #36 |
| Sun, May 10th | @ CWS | Davis Martin (9-3) | #67 | vs PIT | Bubba Chandler (2-7) | #111 |
| Mon, May 11th | @ HOU | Peter Lambert (5-4) | #210 | @ LAD | Roki Sasaki (3-4) | #105 |
| Tue, May 12th | @ HOU | Tatsuya Imai (3-3) | #131 | @ LAD | Yoshinobu Yamamoto (7-4) | #12 |
| Wed, May 13th | @ HOU | Lance McCullers Jr. (2-3) | #224 | @ LAD | Shohei Ohtani (6-2) | #1 |
| Thu, May 14th | @ HOU | Mike Burrows (3-8) | #163 | @ LAD | Emmet Sheehan (3-4) | #44 |
| Fri, May 15th | vs SD | Randy Vasquez (6-4) | #205 | @ ATH | Aaron Civale (5-2) | #197 |
| Sat, May 16th | vs SD | Walker Buehler (4-3) | #204 | @ ATH | Luis Severino (2-6) | #184 |
| Sun, May 17th | vs SD | Lucas Giolito (2-2) | #198 | @ ATH | Jeffrey Springs (3-7) | #116 |
| Mon, May 18th | vs CWS | Noah Schultz (2-4) | #212 | @ ARI | Zac Gallen (3-5) | #75 |
| Tue, May 19th | vs CWS | Anthony Kay (6-1) | #173 | @ ARI | Ryne Nelson (3-5) | #92 |
| Wed, May 20th | vs CWS | Sean Burke (3-4) | #136 | @ ARI | Merrill Kelly (5-6) | #94 |
| Fri, May 22nd | @ KC | Noah Cameron (3-4) | #76 | vs CWS | Davis Martin (9-3) | #67 |
| Sat, May 23rd | @ KC | Stephen Kolek (4-1) | #144 | vs CWS | Bryan Hudson (3-2) | #178 |
| Sun, May 24th | @ KC | Seth Lugo (2-4) | #103 | vs CWS | Noah Schultz (2-4) | #212 |
| Mon, May 25th | @ ATH | Aaron Civale (5-2) | #197 | vs ARI | Merrill Kelly (5-6) | #94 |
| Tue, May 26th | @ ATH | Gage Jump (2-1) | #114 | vs ARI | Eduardo Rodriguez (5-2) | #112 |
| Wed, May 27th | @ ATH | Jeffrey Springs (3-7) | #116 | vs ARI | Michael Soroka (8-3) | #50 |
| Fri, May 29th | vs ARI | Zac Gallen (3-5) | #75 | @ COL | Michael Lorenzen (2-8) | #365 |
| Sat, May 30th | vs ARI | Ryne Nelson (3-5) | #92 | @ COL | Ryan Feltner (2-2) | #421 |
| Sun, May 31st | vs ARI | Merrill Kelly (5-6) | #94 | @ COL | Tanner Gordon (0-1) | #321 |
| Mon, Jun 1st | vs NYM | Austin Warren | @ MIL | Shane Drohan (3-2) | #127 | |
| Tue, Jun 2nd | vs NYM | Huascar Brazoban (3-1) | #199 | @ MIL | Kyle Harrison (8-1) | #48 |
| Wed, Jun 3rd | vs NYM | Freddy Peralta (5-5) | #26 | @ MIL | Robert Gasser (0-3) | #171 |
| Fri, Jun 5th | @ DET | Framber Valdez (3-5) | #29 | @ CHC | Edward Cabrera (4-4) | #66 |
| Sat, Jun 6th | @ DET | Keider Montero (3-5) | #179 | @ CHC | Ben Brown (3-2) | #33 |
| Sun, Jun 7th | @ DET | Jack Flaherty (1-8) | #79 | @ CHC | Jameson Taillon (2-5) | #124 |
| Mon, Jun 8th | @ BAL | Trey Gibson (1-2) | #328 | vs WSH | Richard Lovelady (2-3) | #216 |
| Tue, Jun 9th | @ BAL | Trevor Rogers (3-7) | #97 | vs WSH | Andrew Alvarez (1-0) | #168 |
| Wed, Jun 10th | @ BAL | Brandon Young (5-2) | #167 | vs WSH | Foster Griffin (7-2) | #89 |
| Thu, Jun 11th | @ BAL | Kyle Bradish (3-7) | #57 |   |   |   |
| Fri, Jun 12th | @ WSH | Zack Littell (6-5) | #170 | vs CHC | Javier Assad (4-1) | #203 |
| Sat, Jun 13th | @ WSH | Cade Cavalli (4-4) | #87 | vs CHC | Ben Brown (3-2) | #33 |
| Sun, Jun 14th | @ WSH | PJ Poulin (3-0) | #261 | vs CHC | Ryan Rolison | |
| Tue, Jun 16th | vs BAL | Brandon Young (5-2) | #167 |   |   |   |
| Wed, Jun 17th | vs BAL | Kyle Bradish (3-7) | #57 | @ ATL | JR Ritchie (1-1) | #246 |
| Thu, Jun 18th | vs BAL | Shane Baz (4-6) | #84 | @ ATL | Martin Perez (5-3) | #160 |
| Fri, Jun 19th | vs BOS | Ranger Suarez (2-3) | #20 | @ MIA | Janson Junk (3-5) | #122 |
| Sat, Jun 20th | vs BOS | Connelly Early (5-5) | #91 | @ MIA | Max Meyer (7-0) | #55 |
| Sun, Jun 21st | vs BOS | Payton Tolle (3-4) | #54 | @ MIA | ||
| Tue, Jun 23rd | @ PIT | Mitch Keller (5-4) | #100 | vs ATH | Aaron Civale (5-2) | #197 |
| Wed, Jun 24th | @ PIT | Braxton Ashcraft (5-3) | #36 | vs ATH | Gage Jump (2-1) | #114 |
| Thu, Jun 25th | @ PIT | Bubba Chandler (2-7) | #111 | vs ATH | Jeffrey Springs (3-7) | #116 |
| Fri, Jun 26th | @ CLE | Joey Cantillo (5-3) | #104 | vs ATL | Bryce Elder (5-4) | #107 |
| Sat, Jun 27th | @ CLE | vs ATL | ||||
| Sun, Jun 28th | @ CLE | vs ATL | ||||
| Mon, Jun 29th | vs LAA | @ ARI | ||||
| Tue, Jun 30th | vs LAA | @ ARI | ||||
| Thu, Jul 2nd | vs LAA |   |   |   | ||
| Fri, Jul 3rd | vs TOR | @ COL | ||||
| Sat, Jul 4th | vs TOR | @ COL | ||||
| Sun, Jul 5th | vs TOR | @ COL | ||||
| Tue, Jul 7th | @ MIA | vs TOR | ||||
| Wed, Jul 8th | @ MIA | vs TOR | ||||
| Thu, Jul 9th | @ MIA | vs COL | ||||
| Fri, Jul 10th | @ TB | vs COL | ||||
| Sat, Jul 11th | @ TB | vs COL | ||||
| Sun, Jul 12th | @ TB | vs COL | ||||
| Fri, Jul 17th | vs SF | @ SEA | ||||
| Sat, Jul 18th | vs SF | @ SEA | ||||
| Sun, Jul 19th | vs SF | @ SEA | ||||
| Mon, Jul 20th | vs CIN | @ KC | ||||
| Tue, Jul 21st | vs CIN | @ KC | ||||
| Wed, Jul 22nd | vs CIN | @ KC | ||||
| Fri, Jul 24th | @ TEX | vs LAA | ||||
| Sat, Jul 25th | @ TEX | vs LAA | ||||
| Sun, Jul 26th | @ TEX | vs LAA | ||||
| Mon, Jul 27th | @ TEX | vs MIL | ||||
| Tue, Jul 28th | @ LAD | vs MIL | ||||
| Wed, Jul 29th | @ LAD | vs MIL | ||||
| Thu, Jul 30th | @ LAD | @ SD | ||||
| Fri, Jul 31st | vs MIN | @ SD | ||||
| Sat, Aug 1st | vs MIN | @ SD | ||||
| Sun, Aug 2nd | vs MIN | @ SD | ||||
| Tue, Aug 4th | vs DET | @ TEX | ||||
| Wed, Aug 5th | vs DET | @ TEX | ||||
| Thu, Aug 6th | vs DET |   |   |   | ||
| Fri, Aug 7th | vs TB | vs DET | ||||
| Sat, Aug 8th | vs TB | vs DET | ||||
| Sun, Aug 9th | vs TB | vs DET | ||||
| Tue, Aug 11th | @ NYY | vs HOU | ||||
| Wed, Aug 12th | @ NYY | vs HOU | ||||
| Thu, Aug 13th | @ NYY |   |   |   | ||
| Fri, Aug 14th | @ HOU | vs COL | ||||
| Sat, Aug 15th | @ HOU | vs COL | ||||
| Sun, Aug 16th | @ HOU | vs COL | ||||
| Tue, Aug 18th | @ MIL | @ CLE | ||||
| Wed, Aug 19th | @ MIL | @ CLE | ||||
| Thu, Aug 20th | @ MIL | @ CLE | ||||
| Fri, Aug 21st | vs CHC | @ BOS | ||||
| Sat, Aug 22nd | vs CHC | @ BOS | ||||
| Sun, Aug 23rd | vs CHC | @ BOS | ||||
| Mon, Aug 24th | vs PHI | vs CIN | ||||
| Tue, Aug 25th | vs PHI | vs CIN | ||||
| Wed, Aug 26th | vs PHI | vs CIN | ||||
| Fri, Aug 28th | @ TOR | vs ARI | ||||
| Sat, Aug 29th | @ TOR | vs ARI | ||||
| Sun, Aug 30th | @ TOR | vs ARI | ||||
| Mon, Aug 31st | @ BOS |   |   |   | ||
| Tue, Sep 1st | @ BOS | @ PIT | ||||
| Wed, Sep 2nd | @ BOS | @ PIT | ||||
| Thu, Sep 3rd | vs ATH | @ PIT | ||||
| Fri, Sep 4th | vs ATH | @ NYM | ||||
| Sat, Sep 5th | vs ATH | @ NYM | ||||
| Sun, Sep 6th | vs ATH | @ NYM | ||||
| Tue, Sep 8th | vs TEX | vs STL | ||||
| Wed, Sep 9th | vs TEX | vs STL | ||||
| Thu, Sep 10th | vs TEX |   |   |   | ||
| Fri, Sep 11th | @ ATH | vs SD | ||||
| Sat, Sep 12th | @ ATH | vs SD | ||||
| Sun, Sep 13th | @ ATH | vs SD | ||||
| Mon, Sep 14th | @ LAA | @ STL | ||||
| Tue, Sep 15th | @ LAA | @ STL | ||||
| Wed, Sep 16th | @ LAA | @ STL | ||||
| Fri, Sep 18th | @ COL | @ LAD | ||||
| Sat, Sep 19th | @ COL | @ LAD | ||||
| Sun, Sep 20th | @ COL | @ LAD | ||||
| Tue, Sep 22nd | vs HOU | vs MIN | ||||
| Wed, Sep 23rd | vs HOU | vs MIN | ||||
| Thu, Sep 24th | vs LAA |   |   |   | ||
| Fri, Sep 25th | vs LAA | vs LAD | ||||
| Sat, Sep 26th | vs LAA | vs LAD | ||||
| Sun, Sep 27th | vs LAA | vs LAD | ||||
| Wed, Mar 25th |   |   |   | vs NYY | Max Fried (4-3) | #34 |
| Thu, Apr 2nd |   |   |   | vs NYM | David Peterson (3-5) | #146 |
| Thu, Apr 23rd |   |   |   | vs LAD | Tyler Glasnow (3-0) | #41 |
| Thu, Apr 30th |   |   |   | @ PHI | Tim Mayza | |
| Thu, Jun 4th |   |   |   | @ MIL | Coleman Crow (0-1) | #295 |
| Wed, Jul 1st |   |   |   | @ ARI | ||
| Mon, Jul 6th |   |   |   | vs TOR | ||
| Mon, Aug 3rd |   |   |   | @ TEX | ||
| Mon, Aug 10th |   |   |   | vs HOU | ||
| Thu, Aug 27th |   |   |   | vs ARI | ||
| Mon, Sep 7th |   |   |   | vs STL | ||
| Mon, Sep 21st |   |   |   | vs MIN | ||

