A dual typing's defensive value comes down to two numbers: how many attacking types it resists or is immune to, and how many single weaknesses it has left uncovered. Multiply the two component types' multipliers together and most combinations land somewhere unremarkable — three or four resistances, two or three weaknesses, nothing worth building a team around. The seven typings below are the outliers, the ones where the multiplication works almost entirely in the defender's favor.
1. Steel/Fairy
Steel alone resists Normal, Grass, Ice, Flying, Psychic, Bug, Rock, Dragon, Steel, and is immune to Poison — nine resistances plus an immunity from one type slot. Fairy resists Fighting, Bug, Dark and is immune to Dragon. Stack them and Steel/Fairy ends up with a single clean weakness: Fire, plus a workable Ground weakness that Levitate or a Ground-immunity item can patch entirely. Zacian and Zacian-Crowned run this typing with 170 base Attack behind it, meaning the thing that's supposed to threaten a Fire-weak target instead gets outsped and OHKO'd by Behemoth Blade before it can fire off Flamethrower. No other typing in the game reduces a Pokémon's practical weakness count to functionally one and a half.
2. Water/Ground
Water resists Fire, Water, Ice, Steel; Ground is immune to Electric and resists Poison, Rock. Combined, Water/Ground gets a full immunity to Electric-type moves — historically the single most common special coverage type in any generation's metagame — on top of four separate resistances. The only weaknesses are Grass (4x, since both types are independently weak to it) and a clean Ground/Water double-weakness has no equivalent on the offensive side. Swampert built an entire competitive career on this: Damp Rock Rain-immune to Electric, resistant to the Fire/Ice combo most special attackers lean on, with Torrent to punish anything that tries to break it with Water coverage anyway. The Grass weakness is real but narrow — far fewer relevant attackers carry Grass STAB than Electric.
3. Normal/Ghost
This typing only exists competitively because of Hisuian Zoroark, and it's a genuine chart oddity: Normal is immune to Ghost, and Ghost is immune to Normal, so the two types cancel each other's core immunity out entirely, leaving Normal/Ghost immune to precisely nothing from either half — but also picking up Ghost's resistance to Poison and Bug while Normal contributes no resistances of its own (Normal resists nothing). The net result is a typing with only one weakness, Dark, since Fighting (Normal's normal weakness) is nullified by Ghost's own Fighting resistance, and Ghost's Ghost weakness is nullified by Normal's immunity to Ghost-on-Ghost interactions being moot for the defending side. Hisuian Zoroark leans into the single-weakness profile with Illusion disguising its actual typing for a free turn, baiting a Fighting-type attack that a genuine Normal-type would otherwise threaten to punish.
4. Steel/Dragon
Steel's nine resistances plus Poison immunity stack with Dragon's single resistance (Fire, Water, Electric, Grass — actually four), and between them the pair covers an enormous portion of the type chart while leaving only two weaknesses: Ground and Fighting. Dragon alone is 4x weak to itself, but Steel resists Dragon, so the pairing cancels that out entirely rather than compounding it. Dialga and Duraludon both run this typing, and it's precisely why Dragon/Steel shows up repeatedly across generations as a defensive-pivot archetype rather than a one-off — the two weaknesses it does have (Ground, Fighting) are both physical categories, which lets a single Assault Vest or bulky spread cover both with one defensive stat investment.
5. Electric (with Levitate)
Pure Electric typing on its own resists Electric, Flying, Steel and has one clean weakness, Ground — a solid profile, but not top-tier on the chart alone. What elevates it into this list is the specific interaction with the Levitate ability: an Electric-type running Levitate converts its one remaining weakness into a full immunity, leaving zero type-based weaknesses on the chart at all. Rotom's various appliance forms use exactly this interaction (Rotom-Wash is Electric/Water and doesn't need Levitate since Water/Ground cancels differently, but base Rotom and several formes lean on the Electric/Ghost or pure-Electric-plus-Levitate combination), and older-generation Ampharos-style Electric-types with access to Levitate via move tutor became genuinely difficult to pressure through conventional coverage since their only real answer shifted from a type matchup to a raw power check.
6. Bug/Steel
Bug alone is a mediocre defensive type — it resists only Grass, Fighting, Ground — but paired with Steel's nine resistances and Poison immunity, Bug/Steel inherits almost the entire Steel profile while Bug's own weaknesses (Fire, Flying, Rock) get filtered through Steel's resistances to Flying and Rock, leaving only Fire as an uncontested weakness. Scizor is the defining user: Technician-boosted Bullet Punch giving it priority STAB, and a defensive profile so clean that its only real switch-in requirement for an opposing team is a dedicated Fire-type answer or a special attacker strong enough to punch through its passive bulk before Bullet Punch racks up chip damage.
7. Ghost/Dark (pre-Fairy, Gen 1-5 context)
Before Fairy existed as a type (introduced in Gen 6), Ghost/Dark was one of the cleanest defensive typings available: Ghost resists Poison and Bug and is immune to Normal and Fighting; Dark resists Ghost and Dark and is immune to Psychic. Combined, the only weakness on the chart was Bug — and even that got filtered through Ghost's own Bug resistance into a manageable neutral-to-resisted range depending on the exact Bug move's secondary typing. Post-Fairy, this typing picks up a hard Fairy weakness that didn't exist for the first five generations, which is why older Ghost/Dark Pokémon (Spiritomb being the clearest example, historically boasting zero weaknesses at all pre-Gen 6, a genuine type-chart first) went from having no weaknesses whatsoever to a single exploitable one overnight when Fairy was added. It's a reminder that a typing's ranking isn't static — Game Freak has added exactly one new type in the games' history, and it reshuffled defensive rankings across the board the moment it landed.
Why These Seven and Not Others
Plenty of typings resist a lot of damage types without making this list — Rock/Steel, for instance, resists Normal, Flying, Poison, Fire and is immune to nothing extra, but it stacks a brutal Fighting/Ground/Water triple-weakness that keeps it out of top-tier defensive conversation despite the resistance count looking good on paper. The seven above earn their spot specifically because their weakness count, not their resistance count, is what's exceptional: one or two weaknesses total, often in categories (Fighting, Ground) that a single defensive EV spread or held item can patch. That's the actual skill in evaluating a typing competitively — resistances are nice, but it's the leftover weaknesses that determine how much of the metagame a Pokémon has to actively play around rather than simply ignore.
The Offensive Side of the Same Typings
Defensive quality and offensive quality don't always travel together on the same typing, and it's worth separating the two explicitly. Steel/Fairy STAB is resisted by only Steel and Fire itself, which is a narrower offensive profile than Water/Ground's STAB spread reaching around Grass resists via the Ground half alone; Zacian gets around this by pairing Fairy STAB with a Steel-type physical move that most Fairy-resistant Steel-types can't comfortably switch into anyway. Bug/Steel is the clearest case of a typing that's elite defensively but mediocre offensively — Bug STAB is resisted by an enormous share of the chart, which is exactly why Scizor leans on Bullet Punch's Steel STAB and priority rather than trying to force Bug-type damage through walls. When a typing is strong on both axes at once, like Steel/Dragon or Water/Ground, the Pokémon wearing it tends to become a genuine format-definer rather than just a solid defensive piece.
How Generational Type Chart Changes Reshuffle This List
This ranking is a snapshot of the current eighteen-type chart, and it's worth remembering the chart hasn't been static. Steel used to resist Ghost and Dark-type moves in Gen 2 through 5 before Game Freak removed both resistances heading into Gen 6, specifically to make Steel less oppressively defensive after years of Steel-types dominating OU tiers on the back of a then-eleven-resistance profile. That change alone dropped Steel/Fairy and Steel/Dragon's raw resistance counts by two each overnight, and it's a useful reminder that a typing ranking written for one generation's chart doesn't automatically carry forward — always check whether a resistance you're relying on is still accurate for the specific game you're playing rather than assuming type interactions are permanent.