Pittsburgh Pirates

Ryan O'Hearn

#29 Active
RF Pittsburgh Pirates 6'2" · 220 lbs Bats: L · Throws: L Sam Houston
Batting AVG
.264
Batting OBP
.329
Batting SLG
.444
Season HR
18
Season RBI
73
Next Matchup vs MIN Sat 1:05 PM ET

2026 Fantasy Baseball Player Profile

Ryan O’Hearn capped a late-career resurgence with a 2025 season that saw him earn his first career All-Star selection and a major multi-year payday. Splitting the year between the Orioles and Padres (following a deadline trade to San Diego), O’Hearn slashed .281/.366/.437 with 17 home runs and 63 RBI across 144 games. Notably, he reversed a career-long struggle against left-handed pitching, posting an .832 OPS versus southpaws. His ability to hit for a high average and provide steady middle-of-the-order production made him one of the most sought-after veteran bats on the market.

In January 2026, O’Hearn signed a two-year, $29 million contract with the Pittsburgh Pirates, marking the highest average annual value ($14.5M) for a free agent signing in franchise history. He made an immediate impact in his Grapefruit League debut on February 21, 2026, crushing a three-run home run against his former team, the Orioles, in his first official plate appearance as a Pirate.

Heading into 2026, the Pirates have a clear—if surprising—defensive plan for the 32-year-old. While initially expected to DH, the subsequent signing of Marcell Ozuna has pushed O’Hearn into a primary Right Field role, with Bryan Reynolds shifting over to Left Field. This arrangement allows Pittsburgh to keep O’Hearn’s bat in the heart of the order (typically batting third) while utilizing his versatility at first base when needed to spell Spencer Horwitz.

DFS Last 5

Game Log

2026 Regular Season
DATE OPPONENT AB R H 2B 3B HR RBI BB SO SB AVG OBP SLG RESULT
Sep 20 vs. Kansas City Royals 3 1 1 0 0 0 0 1 1 0 .272 .339 .460 W 3-4
Sep 19 vs. Kansas City Royals 4 0 0 0 0 0 0 0 2 0 .272 .337 .462 W 5-6
Sep 18 vs. Kansas City Royals 3 0 0 0 0 0 1 1 1 0 .275 .341 .467 W 5-8
Sep 16 vs. Milwaukee Brewers 4 0 2 0 0 0 0 0 0 0 .277 .340 .471 L 5-4
Sep 15 vs. Milwaukee Brewers 3 0 1 0 0 0 0 1 1 0 .275 .338 .470 L 5-1
Sep 13 @ Chicago Cubs 4 0 0 0 0 0 0 0 1 0 .274 .337 .471 W 4-3
Sep 12 @ Chicago Cubs 4 1 1 0 0 1 3 0 1 0 .277 .340 .477 L 3-4
Sep 11 @ Chicago Cubs 2 0 0 0 0 0 0 0 0 0 .278 .341 .471 L 2-12
Jul 31 @ Cincinnati Reds 4 0 1 0 0 0 0 1 0 0 .279 .343 .474 L 7-8
Jul 30 @ Cincinnati Reds 4 0 0 0 0 0 0 0 1 0 .280 .342 .476 L 2-3
Jul 29 vs. Arizona Diamondbacks 4 0 0 0 0 0 0 0 0 0 .283 .346 .482 L 3-0
Jul 28 vs. Arizona Diamondbacks 6 1 2 2 0 0 1 0 0 0 .287 .350 .488 L 8-7
Jul 27 vs. Arizona Diamondbacks 4 0 0 0 0 0 0 0 0 0 .286 .350 .484 W 2-3
Jul 26 vs. Chicago Cubs 2 2 1 0 0 1 4 2 0 0 .289 .354 .491 W 7-8
Jul 25 vs. Chicago Cubs 3 0 1 0 0 0 0 0 0 0 .288 .350 .481 L 11-0
Jul 24 vs. Chicago Cubs 4 0 2 0 0 0 0 0 1 0 .288 .350 .482 L 3-2
Jul 18 @ Cleveland Guardians 3 1 0 0 0 0 0 1 0 0 .285 .348 .482 W 2-1
Jul 12 vs. Milwaukee Brewers 2 2 2 1 0 0 2 1 0 0 .288 .349 .487 W 5-14
Jul 11 (2) vs. Milwaukee Brewers 3 0 0 0 0 0 0 0 0 0 .283 .341 .480 W 2-3
Jul 11 vs. Milwaukee Brewers 3 0 0 0 0 0 0 0 3 0 .286 .342 .485 W 6-7
Jul 9 vs. Atlanta Braves 4 0 0 0 0 0 0 0 1 0 .289 .344 .490 L 10-5
Jul 8 vs. Atlanta Braves 4 0 1 0 0 0 0 0 0 0 .293 .348 .497 L 3-0
Jul 7 vs. Atlanta Braves 5 3 4 0 0 3 10 0 0 0 .293 .349 .500 W 4-12
Jul 5 @ Washington Nationals 2 2 1 0 0 0 0 3 0 0 .284 .342 .463 W 11-5
Jul 4 @ Washington Nationals 4 1 2 0 0 0 0 0 1 0 .283 .334 .463 W 7-1
Jul 3 @ Washington Nationals 5 0 0 0 0 0 0 0 1 0 .280 .332 .462 L 5-9
Jul 2 @ Philadelphia Phillies 5 0 1 1 0 0 0 0 2 0 .285 .338 .471 W 6-1
Jul 1 @ Philadelphia Phillies 5 1 1 0 0 0 0 0 2 0 .286 .340 .472 L 6-10
Jun 30 @ Philadelphia Phillies 0 0 0 0 0 0 0 1 0 0 .288 .343 .477 L 0-8
Jun 29 @ Philadelphia Phillies 5 2 2 0 0 0 1 0 1 0 .288 .340 .477 W 11-7
Jun 28 vs. Cincinnati Reds 5 3 3 0 0 2 4 0 1 0 .286 .339 .479 W 4-9
Jun 27 vs. Cincinnati Reds 5 0 1 0 0 0 1 0 0 0 .280 .335 .453 L 9-7
Jun 26 vs. Cincinnati Reds 3 0 0 0 0 0 0 1 2 0 .281 .337 .458 L 6-4
Jun 25 vs. Seattle Mariners 4 0 1 0 0 0 1 0 2 0 .285 .338 .463 W 1-5
Jun 24 vs. Seattle Mariners 5 2 4 3 0 0 3 0 0 0 .285 .340 .467 W 1-11
Jun 23 vs. Seattle Mariners 4 0 1 0 0 0 0 0 0 0 .274 .331 .447 L 3-2
Jun 21 @ Colorado Rockies 4 0 0 0 0 0 0 0 2 0 .275 .332 .451 W 8-6
Jun 20 @ Colorado Rockies 4 0 0 0 0 0 0 0 2 0 .279 .337 .459 L 1-2
Jun 19 @ Colorado Rockies 4 0 0 0 0 0 0 0 0 0 .284 .343 .467 L 3-4
Jun 17 @ Las Vegas Athletics 5 1 3 1 0 1 6 0 0 0 .290 .348 .475 W 12-4
Jun 16 @ Las Vegas Athletics 5 1 3 1 0 0 0 0 1 0 .282 .343 .454 W 6-5
Jun 15 @ Las Vegas Athletics 4 0 1 0 0 0 0 0 1 0 .275 .338 .445 L 2-11
Jun 14 vs. Miami Marlins 5 0 0 0 0 0 0 0 2 0 .275 .339 .449 L 4-2
Jun 13 vs. Miami Marlins 4 0 2 0 0 0 1 0 1 0 .282 .347 .460 W 2-3
Jun 12 vs. Miami Marlins 4 0 0 0 0 0 0 0 1 0 .278 .344 .460 L 8-3
Jun 11 vs. Los Angeles Dodgers 3 0 1 0 0 0 0 0 2 0 .284 .350 .469 L 8-6
Jun 10 vs. Los Angeles Dodgers 5 0 1 0 0 0 0 0 2 0 .283 .350 .471 W 8-9
Jun 9 vs. Los Angeles Dodgers 4 1 1 0 0 1 1 0 3 0 .285 .354 .478 L 12-3
Jun 7 @ Atlanta Braves 4 0 0 0 0 0 0 0 1 0 .286 .356 .467 L 2-3
Jun 6 @ Atlanta Braves 4 0 1 0 0 0 0 0 1 0 .292 .363 .478 L 3-6
Jun 5 @ Atlanta Braves 1 0 0 0 0 0 0 0 0 0 .293 .365 .483 L 3-6
Jun 4 @ Houston Astros 4 1 2 0 0 1 3 0 1 0 .295 .367 .486 W 5-1
Jun 3 @ Houston Astros 2 0 0 0 0 0 0 0 1 0 .290 .365 .467 L 9-11
Jun 2 @ Houston Astros 4 1 1 0 0 0 0 1 2 0 .293 .368 .473 W 10-6
May 31 vs. Minnesota Twins 4 1 2 0 0 1 1 0 1 0 .294 .368 .479 W 3-9
May 16 vs. Philadelphia Phillies 1 0 0 0 0 0 0 0 0 0 .289 .365 .459 L 6-0
May 15 vs. Philadelphia Phillies 4 1 0 0 0 0 0 1 1 0 .291 .367 .462 L 11-9
May 14 vs. Colorado Rockies 4 2 3 0 0 1 2 0 0 0 .299 .371 .474 W 2-7
May 13 vs. Colorado Rockies 4 2 2 1 0 1 1 0 0 0 .287 .363 .447 L 10-4
May 12 vs. Colorado Rockies 4 0 0 0 0 0 0 0 2 0 .281 .359 .418 W 1-3
May 10 @ San Francisco Giants 6 1 1 0 0 0 0 0 1 0 .289 .368 .430 L 6-7
May 9 @ San Francisco Giants 5 1 2 0 0 0 1 1 0 0 .294 .376 .441 W 13-3
May 8 @ San Francisco Giants 1 0 0 0 0 0 0 0 0 0 .290 .371 .443 L 2-5
May 7 @ Arizona Diamondbacks 4 0 1 0 0 0 1 0 2 0 .292 .373 .446 W 4-2
May 6 @ Arizona Diamondbacks 3 0 0 0 0 0 0 1 0 0 .294 .377 .452 W 1-0
May 5 @ Arizona Diamondbacks 3 0 0 0 0 0 0 0 1 0 .301 .380 .463 L 0-9
May 3 vs. Cincinnati Reds 3 0 0 0 0 0 0 0 2 0 .308 .388 .475 W 0-1
May 2 vs. Cincinnati Reds 4 3 2 1 0 0 3 1 2 0 .316 .397 .487 W 7-17
May 1 vs. Cincinnati Reds 5 1 2 0 0 0 1 0 0 0 .310 .389 .478 W 1-9
Apr 30 vs. St. Louis Cardinals 4 0 0 0 0 0 0 1 1 0 .306 .389 .481 L 10-5
Apr 29 vs. St. Louis Cardinals 5 0 1 0 0 0 0 0 1 0 .317 .397 .500 L 5-4
Apr 28 vs. St. Louis Cardinals 4 2 2 0 0 1 3 0 1 0 .323 .405 .515 L 11-7
Apr 27 vs. St. Louis Cardinals 3 0 1 0 0 0 1 1 1 0 .316 .402 .484 L 4-2
Apr 26 @ Milwaukee Brewers 4 0 0 0 0 0 0 0 1 0 .315 .398 .489 L 0-5
Apr 25 @ Milwaukee Brewers 4 1 1 0 0 0 0 0 2 0 .330 .413 .511 W 6-3
Apr 24 @ Milwaukee Brewers 4 2 2 1 0 0 0 0 0 0 .333 .414 .524 W 6-0
Apr 23 @ Texas Rangers 3 0 1 0 0 0 0 1 1 0 .325 .411 .513 L 1-6
Apr 22 @ Texas Rangers 3 0 1 0 0 0 0 1 0 0 .325 .407 .519 W 8-4
Apr 21 @ Texas Rangers 4 0 1 0 0 0 1 0 1 0 .324 .402 .527 L 1-5
Apr 18 vs. Tampa Bay Rays 3 2 2 0 0 1 2 1 1 0 .329 .410 .543 L 8-7
Apr 17 vs. Tampa Bay Rays 4 0 0 0 0 0 0 0 1 0 .313 .392 .493 W 1-5
Apr 16 vs. Washington Nationals 0 0 0 0 0 0 0 0 0 0 .333 .413 .524 L 8-7
Apr 15 vs. Washington Nationals 4 1 3 0 0 0 0 0 1 1 .333 .405 .524 W 0-2
Apr 14 vs. Washington Nationals 3 0 0 0 0 0 0 1 0 0 .305 .386 .508 L 5-4
Apr 13 vs. Washington Nationals 5 1 1 1 0 0 1 0 3 0 .321 .394 .536 W 5-16
Apr 12 @ Chicago Cubs 4 0 2 0 0 0 0 0 1 0 .333 .410 .549 L 6-7
Apr 11 @ Chicago Cubs 3 0 0 0 0 0 1 1 0 0 .319 .404 .553 W 4-3
Apr 10 @ Chicago Cubs 4 1 1 0 0 0 0 0 0 0 .341 .423 .591 W 2-0
Apr 8 vs. San Diego Padres 4 0 0 0 0 0 0 0 0 0 .350 .438 .625 L 8-2
Apr 7 vs. San Diego Padres 3 1 2 0 0 0 0 1 0 0 .389 .477 .694 W 1-7
Apr 6 vs. San Diego Padres 3 0 1 1 0 0 0 1 1 0 .364 .450 .697 L 5-0
Apr 5 vs. Baltimore Orioles 5 1 2 1 0 1 4 0 1 0 .367 .444 .700 W 2-8
Apr 4 vs. Baltimore Orioles 4 0 1 0 0 0 0 0 1 0 .360 .452 .600 W 2-3
Apr 3 vs. Baltimore Orioles 2 1 0 0 0 0 1 1 1 0 .381 .481 .667 W 4-5
Mar 31 @ Cincinnati Reds 3 1 1 0 0 1 3 1 0 0 .421 .522 .737 W 8-3
Mar 30 @ Cincinnati Reds 2 0 1 0 0 0 0 2 0 0 .438 .526 .625 L 0-2
Mar 29 @ New York Mets 5 0 3 0 0 0 2 0 2 0 .429 .467 .643 W 4-3
Mar 28 @ New York Mets 5 0 1 0 0 0 0 1 0 0 .333 .400 .667 L 2-4
Mar 26 @ New York Mets 4 2 2 0 0 1 1 0 1 0 .500 .500 1.250 L 7-11
Total36755100150187232831.272.339.460

AVG, OBP, SLG, ERA and WHIP are season-to-date through each game, not that game alone — so the column reads as a trend and its last value is the season figure. They stay season-to-date when the log is filtered by opponent; the figure for the filtered games is the one in the Total row. The second game of a doubleheader is marked (2).

Splits

Latest Features