| IP | ERA | W-L | HLD | SV | K/BB | K/9 | WHIP | FSP |
|---|---|---|---|---|---|---|---|---|
| 40.1 | 3.35 | 3-3 | 1 | 25 | 40/14 | 8.9 | 1.14 | 11.52 |
| Compared to same point last season | ||||||||
| 20.0 | 2.25 | 0-0 | 2 | 0 | 23/10 | 10.4 | 1.40 | |
All-Star closer Riley O'Brien remains an elite source of saves in St. Louis
O'Brien enters the second half of the season on a dominant run, posting a spotless 0.00 ERA and a 0.50 WHIP over his last seven days. The 31-year-old righty was recently recognized for his breakout campaign with an All-Star selection, leading the National League in saves. He remains the undisputed primary closer for a Cardinals squad that currently sits at 50-45 and holds third place in the NL Central. Despite a minor scare involving a hit-by-pitch incident recently, our models confirm he is healthy and ready to resume high-leverage duties.
Under the hood, O'Brien's 2026 performance has been a significant step forward from his career norms. While our original season projection expected a 3.71 ERA and 20 saves, he has already blown past that save total with 24 successful conversions. His current 1.17 WHIP is considerably sharper than his projected 1.32, fueled by a high-velocity arsenal that includes 100-mph heat. Given his improved 3.00 K/BB ratio compared to last season, this level of production looks sustainable rather than a mid-summer fluke.
The Cardinals travel to Arizona for a three-game weekend set starting July 17. Our data projects O'Brien to see roughly three appearances this week with an expected 1.6 saves and a stellar 1.47 ERA. Facing a Diamondbacks lineup that has been middle-of-the-pack offensively, the save opportunities should be plentiful if the St. Louis starters can keep games close. He is a top-tier fantasy asset who should be locked into all active lineups. Start.
Updated 2 days ago
| DATE | OPP | INN | PC | K | WLK | ER | DEC | ERA | WHIP | PTS | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 07/17 | @ARI | 1.0 | 16 | 1 | 1 | 0 | SAVE | 3.35 | 1.14 | 7 | |
| 07/11 | ATL | 1.0 | 18 | 1 | 1 | 0 | SAVE | 3.43 | 1.12 | 8 | |
| 07/10 | ATL | 1.0 | 12 | 2 | 0 | 0 | SAVE | 3.52 | 1.12 | 9 | |
| 07/08 | MIL | 1.0 | 15 | 1 | 0 | 0 | N/A | 3.62 | 1.15 | 3 | |
| 07/04 | @CHC | 1.0 | 13 | 1 | 1 | 0 | SAVE | 3.72 | 1.16 | 8 | |
| 06/30 | @ATL | 1.0 | 9 | 0 | 0 | 0 | SAVE | 3.82 | 1.16 | 7 | |
| 06/28 | MIA | 1.0 | 15 | 1 | 0 | 0 | SAVE | 3.93 | 1.17 | 8 | |
| 06/22 | ARI | 1.0 | 17 | 0 | 0 | 0 | SAVE | 4.05 | 1.20 | 7 | |
| 06/21 | @KC | 1.0 | 12 | 1 | 0 | 2 | N/A | 4.18 | 1.24 | 0 | |
| 06/16 | SD | 1.0 | 13 | 0 | 1 | 0 | SAVE | 3.73 | 1.21 | 7 | |
| 06/13 | @MIN | 1.0 | 31 | 1 | 3 | 1 | N/A | 3.86 | 1.22 | 1 | |
| 06/07 | CIN | 1.0 | 15 | 1 | 0 | 0 | SAVE | 3.68 | 1.16 | 8 | |
| 06/06 | CIN | 1.0 | 23 | 1 | 1 | 0 | SAVE | 3.81 | 1.16 | 7 | |
| 06/03 | TEX | 1.0 | 13 | 0 | 1 | 0 | SAVE | 3.95 | 1.10 | 7 | |
| 06/02 | TEX | 1.0 | 32 | 2 | 1 | 3 | LOSS | 4.10 | 1.10 | -6 | |
| 05/29 | CHC | 1.0 | 14 | 0 | 0 | 1 | SAVE | 3.20 | 0.99 | 6 | |
| 05/23 | @CIN | 1.1 | 20 | 2 | 1 | 0 | LOSS | 2.96 | 0.99 | -1 | |
| 05/19 | PIT | 1.0 | 22 | 0 | 1 | 2 | N/A | 3.13 | 1.00 | -2 | |
| 05/15 | KC | 1.0 | 10 | 0 | 0 | 0 | N/A | 2.45 | 0.91 | 2 | |
| 05/14 | @ATH | 1.0 | 16 | 2 | 0 | 0 | SAVE | 2.57 | 0.90 | 9 | |
| 05/12 | @ATH | 1.0 | 13 | 0 | 1 | 0 | SAVE | 2.70 | 0.95 | 7 | |
| 05/10 | @SD | 1.0 | 31 | 3 | 0 | 2 | N/A | 2.84 | 0.95 | 2 | |
| 05/07 | @SD | 1.0 | 10 | 1 | 0 | 0 | SAVE | 2.00 | 0.89 | 8 | |
| 05/04 | MIL | 0.2 | 3 | 0 | 0 | 0 | SAVE | 2.12 | 0.94 | 6 | |
| 05/02 | LAD | 1.0 | 26 | 2 | 0 | 2 | SAVE | 2.20 | 0.98 | 5 | |
| 04/29 | @PIT | 1.0 | 11 | 1 | 0 | 0 | SAVE | 1.17 | 0.78 | 8 | |
| 04/25 | SEA | 1.0 | 39 | 1 | 1 | 2 | LOSS | 1.26 | 0.77 | -7 | |
| 04/21 | @MIA | 1.0 | 17 | 1 | 0 | 0 | SAVE | 0.00 | 0.45 | 8 | |
| 04/19 | @HOU | 1.1 | 19 | 2 | 0 | 0 | WIN | 0.00 | 0.41 | 9 | |
| 04/18 | @HOU | 0.2 | 7 | 1 | 0 | 0 | SAVE | 0.00 | 0.36 | 7 | |
| 04/15 | CLE | 1.0 | 15 | 2 | 0 | 0 | SAVE | 0.00 | 0.39 | 9 | |
| 04/14 | CLE | 1.0 | 15 | 1 | 0 | 0 | WIN | 0.00 | 0.43 | 8 | |
| 04/10 | BOS | 1.0 | 8 | 1 | 0 | 0 | SAVE | 0.00 | 0.48 | 8 | |
| 04/08 | @WAS | 1.0 | 15 | 0 | 0 | 0 | N/A | 0.00 | 0.55 | 2 | |
| 04/07 | @WAS | 1.0 | 16 | 2 | 0 | 0 | SAVE | 0.00 | 0.63 | 9 | |
| 04/05 | @DET | 1.0 | 13 | 1 | 0 | 0 | SAVE | 0.00 | 0.75 | 8 | |
| 04/01 | NYM | 1.0 | 16 | 2 | 0 | 0 | N/A | 0.00 | 0.92 | 4 | |
| 03/31 | NYM | 1.0 | 11 | 0 | 0 | 0 | SAVE | 0.00 | 0.90 | 7 | |
| 03/28 | TB | 1.0 | 9 | 0 | 0 | 0 | HOLD | 0.00 | 1.29 | 1 | |
| 03/26 | TB | 1.1 | 17 | 2 | 0 | 0 | WIN | 0.00 | 0.75 | 9 | |
| Totals: | 40.1 | 647 | 40 | 14 | 15 | 208 | |||||
| YEAR | TM | APP | INN | PC | K | WLK | SV | W-L | ERA | WHIP | K/9 | PTS |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2021 | CIN | 1 | 2.0 | 42 | 2 | 3 | 0 | 0-1 | 9 | 2.5 | 9 | -5 |
| 2022 | SEA | 1 | 1.0 | 23 | 1 | 1 | 0 | 0-0 | 0 | 2 | 9 | 2 |
| 2024 | STL | 8 | 8.0 | 194 | 11 | 8 | 0 | 0-0 | 11.25 | 2.5 | 12.4 | 7 |
| 2025 | STL | 42 | 43.1 | 758 | 45 | 22 | 6 | 3-1 | 2.28 | 1.27 | 9.4 | 142 |
| 2026 | STL | 40 | 40.1 | 647 | 40 | 14 | 25 | 3-3 | 3.35 | 1.14 | 8.9 | 208 |
| ON PACE | 67 | 68 | 1091 | 67 | 23 | 42 | 5-5 | 3.35 | 1.14 | 8.9 | 350 | |
| 3-YEAR AVG | 25 | 25 | 476 | 28 | 15 | 3 | 2-1 | 3.86 | 1.48 | 9.8 | 75 | |
| Career | 92 | 90.0 | 1664 | 99 | 48 | 0 | 0-0 | 3.8 | 1.42 | 9.9 | ||
| ERA | WHIP | SAVES | HOLDS | WINS | SO | K/BB | K/9 | SVHD | IP | LOSSES | PC | FPTS |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1.157 | 2.869 | 2.6 | 0.1 | 0.0 | 3.5 | 0.6 | 6.8 | 2.7 | 4 | 0.1 | 40 | 23.7 |
| ERA | WHIP | SAVES | HOLDS | WINS | SO | K/BB | K/9 | SVHD | IP | LOSSES | PC | FPTS |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2.7 | 1.1 | 0.7 | 0 | 0 | 1 | 1.9 | 8.9 | 0.7 | 1.0 | 0 | 15.8 | 5.4 |
| NAME | OWN | START |
|---|---|---|
| Rainiel Rodriguez | 3% | 0% |
| NAME | OWN | START |
|---|---|---|
| Alec Burleson | 100% | 93% |
| Blaze Jordan | 5% | 2% |
| Nolan Gorman | 1% | 0% |
| NAME | OWN | START |
|---|---|---|
| JJ Wetherholt | 97% | 91% |
| Masyn Winn | 20% | 10% |
| NAME | OWN | START |
|---|---|---|
| Jordan Walker | 100% | 99% |
| Ivan Herrera | 94% | 85% |
| Joshua Baez | 20% | 0% |
| Lars Nootbaar | 12% | 10% |
| Nathan Church | 3% | 1% |
| NAME | OWN | START |
|---|---|---|
| Michael McGreevy | 50% | 38% |
| Andre Pallante | 45% | 21% |
| Dustin May | 37% | 22% |
| Kyle Leahy | 28% | 15% |
| Matthew Liberatore | 12% | 6% |
| Liam Doyle | 3% | 0% |
| Hunter Dobbins | 1% | 0% |
| NAME | OWN | START |
|---|---|---|
| Riley O'Brien | 83% | 82% |
| JoJo Romero | 26% | 15% |
| George Soriano | 5% | 4% |
| Ryne Stanek | 3% | 2% |
| Quinn Mathews | 3% | 0% |
| Matt Svanson | 1% | 1% |
| Team | W-L | Win % | GB | RS | RA |
|---|---|---|---|---|---|
| 60-37 | .619 | - | 491 | 364 | |
| 54-43 | .557 | 6 | 486 | 437 | |
| 51-45 | .531 | 8.5 | 434 | 427 | |
| 50-47 | .515 | 10 | 516 | 472 | |
| 44-52 | .458 | 15.5 | 402 | 457 |
| Player | GP | AB | R | H | HR | RBI | SB | AVG | O/S |
|---|---|---|---|---|---|---|---|---|---|
| Pedro Pagés | 55 | 146 | 13 | 31 | 4 | 11 | 2 | .212 | |
| Jimmy Crooks | 26 | 64 | 3 | 11 | 2 | 8 | 0 | .172 | |
| Yohel Pozo | 18 | 33 | 0 | 8 | 0 | 5 | 0 | .242 |
| Player | GP | AB | R | H | HR | RBI | SB | AVG | O/S |
|---|---|---|---|---|---|---|---|---|---|
| Alec Burleson | 95 | 363 | 51 | 99 | 15 | 67 | 3 | .273 |
| Player | GP | AB | R | H | HR | RBI | SB | AVG | O/S |
|---|---|---|---|---|---|---|---|---|---|
| JJ Wetherholt | 91 | 355 | 59 | 93 | 14 | 37 | 9 | .262 |
| Player | GP | AB | R | H | HR | RBI | SB | AVG | O/S |
|---|---|---|---|---|---|---|---|---|---|
| Nolan Gorman | 62 | 201 | 19 | 39 | 7 | 26 | 0 | .194 | |
| Ramón Urías | 25 | 57 | 9 | 9 | 2 | 5 | 0 | .158 | |
| Blaze Jordan | 24 | 76 | 8 | 18 | 1 | 14 | 0 | .237 | |
| César Prieto | 6 | 17 | 0 | 0 | 0 | 0 | 0 | .000 |
| Player | GP | AB | R | H | HR | RBI | SB | AVG | O/S |
|---|---|---|---|---|---|---|---|---|---|
| Masyn Winn | 88 | 319 | 39 | 78 | 4 | 41 | 7 | .245 |
| Player | GP | AB | R | H | HR | RBI | SB | AVG | O/S |
|---|---|---|---|---|---|---|---|---|---|
| Jordan Walker | 94 | 361 | 62 | 106 | 22 | 74 | 13 | .294 | |
| Nathan Church | 78 | 241 | 30 | 56 | 8 | 28 | 5 | .232 | |
| José Fermín | 61 | 162 | 17 | 43 | 4 | 20 | 3 | .265 | |
| Nelson Velázquez | 24 | 57 | 10 | 14 | 4 | 12 | 0 | .246 | |
| Bryan Torres | 31 | 67 | 9 | 13 | 4 | 8 | 1 | .194 | |
| Lars Nootbaar | 33 | 108 | 16 | 28 | 3 | 12 | 1 | .259 | |
| Victor Scott II | 61 | 155 | 19 | 30 | 2 | 9 | 9 | .194 | |
| Thomas Saggese | 32 | 76 | 9 | 14 | 1 | 4 | 1 | .184 |
| Player | GP | AB | R | H | HR | RBI | SB | AVG | O/S |
|---|---|---|---|---|---|---|---|---|---|
| Iván Herrera | 96 | 350 | 61 | 86 | 11 | 41 | 5 | .246 |
| Player | GP | W | L | SV | IP | SO | ERA | WHIP | O/S |
|---|---|---|---|---|---|---|---|---|---|
| Dustin May | 18 | 5 | 6 | 0 | 93.0 | 89 | 4.55 | 1.26 | |
| Matthew Liberatore | 19 | 5 | 6 | 0 | 93.2 | 88 | 5.00 | 1.48 | |
| Kyle Leahy | 18 | 7 | 4 | 0 | 89.1 | 75 | 3.73 | 1.41 | |
| Andre Pallante | 18 | 10 | 6 | 0 | 100.0 | 72 | 3.96 | 1.26 | |
| Michael McGreevy | 19 | 4 | 7 | 0 | 108.0 | 71 | 2.92 | 1.10 | |
| Hunter Dobbins | 5 | 1 | 1 | 1 | 22.1 | 23 | 4.03 | 1.39 | |
| Max Rajcic | 6 | 0 | 0 | 0 | 9.0 | 8 | 5.00 | 1.33 | |
| Bruce Zimmermann | 1 | 0 | 0 | 0 | 5.0 | 2 | 5.40 | 1.40 | |
| Brycen Mautz | 1 | 0 | 0 | 0 | 3.0 | 2 | 6.00 | 2.00 |
| Player | GP | W | L | SV | IP | SO | ERA | WHIP | O/S |
|---|---|---|---|---|---|---|---|---|---|
| Riley O'Brien | 40 | 3 | 3 | 25 | 40.1 | 40 | 3.35 | 1.14 | |
| George Soriano | 42 | 3 | 2 | 2 | 41.1 | 36 | 3.27 | 1.09 | |
| Ryne Stanek | 41 | 2 | 2 | 1 | 36.2 | 40 | 4.66 | 1.50 | |
| Gordon Graceffo | 39 | 6 | 1 | 1 | 46.1 | 24 | 2.91 | 1.06 | |
| JoJo Romero | 44 | 1 | 3 | 0 | 43.0 | 43 | 3.35 | 1.30 | |
| Justin Bruihl | 42 | 0 | 0 | 0 | 46.2 | 32 | 3.66 | 1.37 | |
| Jared Shuster | 5 | 0 | 0 | 0 | 9.0 | 4 | 9.00 | 1.89 | |
| Matt Svanson | 36 | 2 | 2 | 0 | 39.2 | 40 | 6.58 | 1.64 | |
| Ryan Fernandez | 11 | 1 | 2 | 0 | 13.1 | 20 | 2.70 | 1.35 | |
| Matt Pushard | 6 | 0 | 0 | 0 | 7.0 | 6 | 5.14 | 1.43 | |
| Luis Gastelum | 4 | 1 | 0 | 0 | 3.2 | 4 | 9.82 | 1.91 |
SIGN UP to see player ownership across all of your fantasy leagues.
| DATE | OPP | SCORE | MATCHUP |
|---|---|---|---|
| 07-17 | @ARI | W 4-5 | Michael McGreevy Merrill Kelly |
| 07-18 | @ARI | 04:10 EDT | Dustin May Brandon Pfaadt |
| 07-19 | @ARI | 04:10 EDT | Andre Pallante Eduardo Rodriguez |
Jul 7th
Riley O’Brien Added to NL All-Star Roster for Cardinals
Apr 18th
Riley O’Brien locks down save with 100.5 mph strikeout of Yordan Alvarez ...
Knicks Sign Restricted Free Agent Moussa Cissé to Two-Year Offer Sheet; Mavericks Have 48 Hours to Match
@ShamsCharania
Brandon Woodruff Undergoes Second Capsule Surgery, Likely Sidelined Through 2026
@AdamMcCalvy
Brandon Woodruff’s 2026 Return Remains Uncertain After Lengthy Rehab Timeline
@AdamMcCalvy
Nick Pinto Replaces Drew Thorpe After Two Scoreless Innings and Three Strikeouts
@scottmerkin
Rangers Activate Jakob Junis, Recall Jose Corniell to Bolster Bullpen
@JeffWilsonTXR
Chase Burns’ Reds Contract Delayed After GM Spills Coffee on It
@ctrent
Jameis Winston and Zlatan Ibrahimović Trade Football Skills in Humorous Viral Clip
@Schultz_Report
Patrick Mahomes Recognizes Nearly Every NFL Quarterback by Silhouette
@AdamSchefter
Seahawks Rookie RB Jadarian Price Wows With 140-Pound Knee-Lift Strength
@NFL_DovKleiman
Ran Carthon Expected to Endorse Brandon Aiyuk to Interested NFL Teams
@grantcohn
Top NFL Free Agents Available: Tyreek Hill, Stefon Diggs, and Other Veterans Seek New Teams
@NFL_DovKleiman
Ran Carthon Urges Fans to Humanize Brandon Aiyuk Amid Contract Speculation
@grantcohn
Brandon Woodruff Undergoes Second Capsule Surgery, Likely Sidelined Through 2026
@AdamMcCalvy
Brandon Woodruff’s 2026 Return Remains Uncertain After Lengthy Rehab Timeline
@AdamMcCalvy
Nick Pinto Replaces Drew Thorpe After Two Scoreless Innings and Three Strikeouts
@scottmerkin
Rangers Activate Jakob Junis, Recall Jose Corniell to Bolster Bullpen
@JeffWilsonTXR
Chase Burns’ Reds Contract Delayed After GM Spills Coffee on It
@ctrent
Clay Holmes’ Mets Return Delayed by Rain; Possible MLB Activation in Late July
@AnthonyDiComo
Knicks Sign Restricted Free Agent Moussa Cissé to Two-Year Offer Sheet; Mavericks Have 48 Hours to Match
@ShamsCharania
Victor Wembanyama Receives Mixed Cheers and Boos at Fanatics Fest NYC
@TheAthleticNBA
Knicks guard Jose Alvarado hopes his story can inspire NYC kids
New York Post
Bobby Portis Revealed as a Lifelong Miami Heat Fan
@MiamiHEAT
Caleb Wilson Shares the Making of His Perfect Rookie Photoshoot Birthday Post
@NBA
5th Overall Pick Keaton Wagler Scores 26 in Clippers’ Summer League OT Win
@NBA
Debate Over MacKinnon’s Early Linemates and Point Production
@JeffVeillette
Blues Mailbag Examines Mason McTavish’s Potential Impact and Jimmy Snuggerud’s Next Contract
@jprutherford
Jamie Drysdale Deal Highlights Travis Sanheim’s Team-Friendly Contract
@charlieo_conn
Barrett Hayton Relieved and Excited After Utah Mammoth Matches Devils’ Offer Sheet
@BagleyKSLsports
NHL “Slide-Itis” Epidemic: Defenders Overcommit on 2-on-1s, Making Passing Plays Nearly Twice as Dangerous
@charlieo_conn
Jamie Drysdale Reflects on Breakthrough Season and Emergence With Flyers
@KKurzNHL
| Jared Jones PIT SP | +7.3 |
| Brandon Pfaadt ARI SP | +5.2 |
| Trevor Rogers BAL SP | +4.0 |
| Peter Lambert HOU SP | +4.0 |
| Shane Drohan MIL RP | +3.9 |
| Sean Manaea NYM RP | +3.8 |
| Curtis Mead WAS 3B | +2.8 |
| JJ Bleday CIN LF | +2.3 |
| Spencer Arrighetti HOU SP | +2.1 |
| Troy Melton DET SP | +2.0 |
| Anthony Kay CHW SP | +2.0 |
| Merrill Kelly ARI SP | +1.9 |
| Cade Cavalli WAS SP | +1.9 |
| Bailey Ober MIN SP | +1.8 |
| Seth Lugo KC SP | +1.6 |
| A.J. Ewing NYM CF | -4.5 |
| Bryson Stott PHI 2B | -4.0 |
| Aaron Nola PHI SP | -3.6 |
| Griffin Jax TB SP | -3.2 |
| Cole Carrigg COL CF | -3.2 |
| Blaze Alexander BAL 3B | -2.9 |
| Brandon Woodruff MIL SP | -2.4 |
| Carter Jensen KC C | -2.4 |
| JoJo Romero STL RP | -2.2 |
| Reynaldo Lopez ATL SP | -2.2 |
| Alec Bohm PHI 3B | -2.1 |
| Jung Hoo Lee SF RF | -2.1 |
| Robert Gasser MIL SP | -2.0 |
| Brent Rooker ATH RF | -1.9 |
| Dylan Crews WAS RF | -1.9 |