MLB Head-to-Head Records Since 2002
All 435 normalized matchups covering 59,834 meetings since 2002. Those current-feed totals power recent form and rate cards. 20 reviewed matchups also separate out Retrosheet history through 2025.
Data updated
Published matchups
Choose a league, then open the directory to jump to any published record.
All matchups435 matchup pagesOpen directoryClose directory
- ARI vs ATL
- ARI vs BAL
- ARI vs BOS
- ARI vs CHC
- ARI vs CHW
- ARI vs CIN
- ARI vs CLE
- ARI vs COL
- ARI vs DET
- ARI vs HOU
- ARI vs KC
- ARI vs LAA
- ARI vs LAD
- ARI vs MIA
- ARI vs MIL
- ARI vs MIN
- ARI vs NYM
- ARI vs NYY
- ARI vs OAK
- ARI vs PHI
- ARI vs PIT
- ARI vs SD
- ARI vs SEA
- ARI vs SF
- ARI vs STL
- ARI vs TB
- ARI vs TEX
- ARI vs TOR
- ARI vs WSH
- ATL vs BAL
- ATL vs BOS
- ATL vs CHC
- ATL vs CHW
- ATL vs CIN
- ATL vs CLE
- ATL vs COL
- ATL vs DET
- ATL vs HOU
- ATL vs KC
- ATL vs LAA
- ATL vs LAD
- ATL vs MIA
- ATL vs MIL
- ATL vs MIN
- ATL vs NYM
- ATL vs NYY
- ATL vs OAK
- ATL vs PHI
- ATL vs PIT
- ATL vs SD
- ATL vs SEA
- ATL vs SF
- ATL vs STL
- ATL vs TB
- ATL vs TEX
- ATL vs TOR
- ATL vs WSH
- BAL vs BOS
- BAL vs CHC
- BAL vs CHW
- BAL vs CIN
- BAL vs CLE
- BAL vs COL
- BAL vs DET
- BAL vs HOU
- BAL vs KC
- BAL vs LAA
- BAL vs LAD
- BAL vs MIA
- BAL vs MIL
- BAL vs MIN
- BAL vs NYM
- BAL vs NYY
- BAL vs OAK
- BAL vs PHI
- BAL vs PIT
- BAL vs SD
- BAL vs SEA
- BAL vs SF
- BAL vs STL
- BAL vs TB
- BAL vs TEX
- BAL vs TOR
- BAL vs WSH
- BOS vs CHC
- BOS vs CHW
- BOS vs CIN
- BOS vs CLE
- BOS vs COL
- BOS vs DET
- BOS vs HOU
- BOS vs KC
- BOS vs LAA
- BOS vs LAD
- BOS vs MIA
- BOS vs MIL
- BOS vs MIN
- BOS vs NYM
- BOS vs NYY
- BOS vs OAK
- BOS vs PHI
- BOS vs PIT
- BOS vs SD
- BOS vs SEA
- BOS vs SF
- BOS vs STL
- BOS vs TB
- BOS vs TEX
- BOS vs TOR
- BOS vs WSH
- CHC vs CHW
- CHC vs CIN
- CHC vs CLE
- CHC vs COL
- CHC vs DET
- CHC vs HOU
- CHC vs KC
- CHC vs LAA
- CHC vs LAD
- CHC vs MIA
- CHC vs MIL
- CHC vs MIN
- CHC vs NYM
- CHC vs NYY
- CHC vs OAK
- CHC vs PHI
- CHC vs PIT
- CHC vs SD
- CHC vs SEA
- CHC vs SF
- CHC vs STL
- CHC vs TB
- CHC vs TEX
- CHC vs TOR
- CHC vs WSH
- CHW vs CIN
- CHW vs CLE
- CHW vs COL
- CHW vs DET
- CHW vs HOU
- CHW vs KC
- CHW vs LAA
- CHW vs LAD
- CHW vs MIA
- CHW vs MIL
- CHW vs MIN
- CHW vs NYM
- CHW vs NYY
- CHW vs OAK
- CHW vs PHI
- CHW vs PIT
- CHW vs SD
- CHW vs SEA
- CHW vs SF
- CHW vs STL
- CHW vs TB
- CHW vs TEX
- CHW vs TOR
- CHW vs WSH
- CIN vs CLE
- CIN vs COL
- CIN vs DET
- CIN vs HOU
- CIN vs KC
- CIN vs LAA
- CIN vs LAD
- CIN vs MIA
- CIN vs MIL
- CIN vs MIN
- CIN vs NYM
- CIN vs NYY
- CIN vs OAK
- CIN vs PHI
- CIN vs PIT
- CIN vs SD
- CIN vs SEA
- CIN vs SF
- CIN vs STL
- CIN vs TB
- CIN vs TEX
- CIN vs TOR
- CIN vs WSH
- CLE vs COL
- CLE vs DET
- CLE vs HOU
- CLE vs KC
- CLE vs LAA
- CLE vs LAD
- CLE vs MIA
- CLE vs MIL
- CLE vs MIN
- CLE vs NYM
- CLE vs NYY
- CLE vs OAK
- CLE vs PHI
- CLE vs PIT
- CLE vs SD
- CLE vs SEA
- CLE vs SF
- CLE vs STL
- CLE vs TB
- CLE vs TEX
- CLE vs TOR
- CLE vs WSH
- COL vs DET
- COL vs HOU
- COL vs KC
- COL vs LAA
- COL vs LAD
- COL vs MIA
- COL vs MIL
- COL vs MIN
- COL vs NYM
- COL vs NYY
- COL vs OAK
- COL vs PHI
- COL vs PIT
- COL vs SD
- COL vs SEA
- COL vs SF
- COL vs STL
- COL vs TB
- COL vs TEX
- COL vs TOR
- COL vs WSH
- DET vs HOU
- DET vs KC
- DET vs LAA
- DET vs LAD
- DET vs MIA
- DET vs MIL
- DET vs MIN
- DET vs NYM
- DET vs NYY
- DET vs OAK
- DET vs PHI
- DET vs PIT
- DET vs SD
- DET vs SEA
- DET vs SF
- DET vs STL
- DET vs TB
- DET vs TEX
- DET vs TOR
- DET vs WSH
- HOU vs KC
- HOU vs LAA
- HOU vs LAD
- HOU vs MIA
- HOU vs MIL
- HOU vs MIN
- HOU vs NYM
- HOU vs NYY
- HOU vs OAK
- HOU vs PHI
- HOU vs PIT
- HOU vs SD
- HOU vs SEA
- HOU vs SF
- HOU vs STL
- HOU vs TB
- HOU vs TEX
- HOU vs TOR
- HOU vs WSH
- KC vs LAA
- KC vs LAD
- KC vs MIA
- KC vs MIL
- KC vs MIN
- KC vs NYM
- KC vs NYY
- KC vs OAK
- KC vs PHI
- KC vs PIT
- KC vs SD
- KC vs SEA
- KC vs SF
- KC vs STL
- KC vs TB
- KC vs TEX
- KC vs TOR
- KC vs WSH
- LAA vs LAD
- LAA vs MIA
- LAA vs MIL
- LAA vs MIN
- LAA vs NYM
- LAA vs NYY
- LAA vs OAK
- LAA vs PHI
- LAA vs PIT
- LAA vs SD
- LAA vs SEA
- LAA vs SF
- LAA vs STL
- LAA vs TB
- LAA vs TEX
- LAA vs TOR
- LAA vs WSH
- LAD vs MIA
- LAD vs MIL
- LAD vs MIN
- LAD vs NYM
- LAD vs NYY
- LAD vs OAK
- LAD vs PHI
- LAD vs PIT
- LAD vs SD
- LAD vs SEA
- LAD vs SF
- LAD vs STL
- LAD vs TB
- LAD vs TEX
- LAD vs TOR
- LAD vs WSH
- MIA vs MIL
- MIA vs MIN
- MIA vs NYM
- MIA vs NYY
- MIA vs OAK
- MIA vs PHI
- MIA vs PIT
- MIA vs SD
- MIA vs SEA
- MIA vs SF
- MIA vs STL
- MIA vs TB
- MIA vs TEX
- MIA vs TOR
- MIA vs WSH
- MIL vs MIN
- MIL vs NYM
- MIL vs NYY
- MIL vs OAK
- MIL vs PHI
- MIL vs PIT
- MIL vs SD
- MIL vs SEA
- MIL vs SF
- MIL vs STL
- MIL vs TB
- MIL vs TEX
- MIL vs TOR
- MIL vs WSH
- MIN vs NYM
- MIN vs NYY
- MIN vs OAK
- MIN vs PHI
- MIN vs PIT
- MIN vs SD
- MIN vs SEA
- MIN vs SF
- MIN vs STL
- MIN vs TB
- MIN vs TEX
- MIN vs TOR
- MIN vs WSH
- NYM vs NYY
- NYM vs OAK
- NYM vs PHI
- NYM vs PIT
- NYM vs SD
- NYM vs SEA
- NYM vs SF
- NYM vs STL
- NYM vs TB
- NYM vs TEX
- NYM vs TOR
- NYM vs WSH
- NYY vs OAK
- NYY vs PHI
- NYY vs PIT
- NYY vs SD
- NYY vs SEA
- NYY vs SF
- NYY vs STL
- NYY vs TB
- NYY vs TEX
- NYY vs TOR
- NYY vs WSH
- OAK vs PHI
- OAK vs PIT
- OAK vs SD
- OAK vs SEA
- OAK vs SF
- OAK vs STL
- OAK vs TB
- OAK vs TEX
- OAK vs TOR
- OAK vs WSH
- PHI vs PIT
- PHI vs SD
- PHI vs SEA
- PHI vs SF
- PHI vs STL
- PHI vs TB
- PHI vs TEX
- PHI vs TOR
- PHI vs WSH
- PIT vs SD
- PIT vs SEA
- PIT vs SF
- PIT vs STL
- PIT vs TB
- PIT vs TEX
- PIT vs TOR
- PIT vs WSH
- SD vs SEA
- SD vs SF
- SD vs STL
- SD vs TB
- SD vs TEX
- SD vs TOR
- SD vs WSH
- SEA vs SF
- SEA vs STL
- SEA vs TB
- SEA vs TEX
- SEA vs TOR
- SEA vs WSH
- SF vs STL
- SF vs TB
- SF vs TEX
- SF vs TOR
- SF vs WSH
- STL vs TB
- STL vs TEX
- STL vs TOR
- STL vs WSH
- TB vs TEX
- TB vs TOR
- TB vs WSH
- TEX vs TOR
- TEX vs WSH
- TOR vs WSH
Interleague pairings meet in short bursts, so their percentages rest on far smaller samples than a divisional pairing. Each page flags its own sample size before quoting a rate as meaningful.
MLB head-to-head FAQ
What MLB matchups does this hub cover?
This hub publishes all 435 normalized pairings among the 30 current MLB clubs. Every matchup uses completed final scores from the current feed starting in 2002. 20 reviewed matchups also include a separate Retrosheet history window and reviewed query-owner titles. The remaining 415 use the standard deterministic title and H1 template.
Why do some matchup pages show two date ranges?
20 reviewed matchups combine Retrosheet game logs through 2025 with later final games from the continuously refreshed feed. Recent games, rate cards and betting context always use the current feed from 2002. The other 415 pages use that feed alone. Each page states its source window so the record and narrower analysis cannot be confused.
Do these pages show results against the betting line?
No, and we say so on every page. We hold no historical sportsbook prices for these games, so nothing here is an against-the-spread record or a closing-line result. What you get instead is outcome frequency: how often a pairing stayed inside one run, ended with a margin of two or more, or crossed a half-run total threshold. Those are facts about final scores rather than claims about old prices.
How should a bettor actually use a head-to-head page?
Treat it as historical context, not a prediction. Start with the series record, then compare the one-run share and scoring average with the recent 20-game sample. A visible difference shows how recent finals diverge from the longer archive. Starting pitchers, lineups, bullpens, weather and venue still matter more to the next game than this record does.
How are MLB doubleheaders counted?
Each completed game counts once, including both games of a doubleheader when the source gives them separate game IDs. The 435 published pairings currently contain 59,834 meetings from 2002 onward. Spring training and games without a final score are excluded. Score or schedule anomalies are cross-checked against the official MLB Stats API before the matchup files are rebuilt.
When were these MLB records last updated?
The most recent published matchup data changed on September 5, 2026. This hub shows the newest data-change date across all 435 pairings, while each matchup keeps its own update date. A source check with no new or corrected final does not advance any public date. If a listed score or date looks wrong, send the matchup and game date through the contact page for source verification.
Other sports
The same treatment across the rest of the head-to-head section.
Methodology & Data Sources
Current MLB game logs come from the balldontlie API and cover the 2002 season onward. Scores and schedule anomalies are checked against the official MLB Stats API. Spring training is excluded, while results from earlier franchise identities are merged into the current club.
The History Lab uses Retrosheet game logs through 2025, with inning lines, team totals, attendance, duration and ballpark fields when available. Its source window is labeled separately from the refreshed current feed that starts in 2002.
The betting context summarizes completed final scores only. It contains no sportsbook closing lines and summarizes only completed games. Report a possible error through our contact page with the matchup and game date.