Grass Type Weakness: 5 Super-Effective Threats, and the One Type That Cancels Four of Them

Grass ties Rock for the most defensive weaknesses of any type in Pokémon — five separate types (Fire, Ice, Poison, Flying, and Bug) all deal double damage to a pure Grass-type on contact [1]. That’s the tradeoff for Grass’s own offensive reach against Water, Ground, and Rock. But “five weaknesses” is only true for a pure Grass-type. Give it a second type — Steel, Rock, Dragon — and the math changes completely. One real combination cancels four of the five outright. This is the full counter map: what actually beats Grass, why, and which dual-typing choices turn a five-weakness liability into something closer to a wall.

Quick start — the short version:

  • Pure Grass-types take 2x damage from Fire, Ice, Poison, Flying, and Bug moves.
  • They resist Water, Electric, Grass, and Ground (0.5x), and are flatly immune to powder and spore moves like Spore and Stun Spore [1].
  • No real Grass dual-typing turns Ice into a resistance — it’s the safest default lead if you don’t know the target’s second type.
  • Grass/Steel (Ferrothorn, Kartana) cancels four of the five weaknesses to neutral or immune — but turns Fire into a quadruple weakness in exchange.
  • Pokémon GO uses the same five types, just at 1.6x instead of 2x [4] — the exact numbers are further down.

The 5 Types That Actually Beat Grass

Every one of Grass’s five weaknesses does real work offensively, not just on paper. Fire and Ice are the two “clean” answers — no common Grass dual-typing resists either one outright, so they’re rarely a wasted matchup. Poison, Flying, and Bug are more conditional: all three get cancelled to neutral by the right secondary typing, which is exactly why the dual-typing chart below matters more for these three than for Fire or Ice.

TypeMultiplierWhy it’s reliableExample move
Fire2x (4x on Grass/Steel)Only Grass/Rock (Cradily, Lileep) resists it — every other common Grass combo takes it at 2x or worse.Flare Blitz
Ice2x (never resisted)No existing Grass dual-typing brings Ice below neutral; Grass/Flying, Grass/Ground, and Grass/Dragon all push it to 4x instead.Ice Beam
Poison2x (0x on Grass/Steel)Cancelled to neutral or immune by Steel, Poison, or Rock secondary types — check the target’s typing first.Sludge Bomb
Flying2xMost Flying-type attackers also resist Grass’s own retaliation moves at 0.5x, so the matchup is safe in both directions.Brave Bird
Bug2xCancelled to neutral by Steel or Fire secondary types, but still the most commonly unresisted of the three “conditional” weaknesses.X-Scissor
Infographic showing all 5 types super effective against Grass with dual-type exceptions marked
Grass full counter map: all 5 super-effective types, with the dual-type exceptions that cancel them.

Grass hits back at Water, Ground, and Rock for 2x in return [1], which is why so many Grass-types end up paired with a second type that patches the defensive side — that’s the trade this article maps out.

What Grass Resists (and Why It Rarely Matters Here)

A pure Grass-type resists Water, Electric, Grass, and Ground at 0.5x, and takes zero damage from powder and spore moves entirely — including Spore, one of the most reliable sleep moves in the game [1]. That immunity is a genuine, underused piece of tech: a Grass-type is the one answer that can safely switch into a Spore-user without fear of the sleep itself. None of it offsets the five weaknesses above, but it does mean Grass-types are rarely bad picks against Water-heavy teams, which is the actual reason they show up so often in both competitive formats and Pokémon GO’s Great League.

There’s one more piece of tech worth knowing even though it isn’t a typing at all: the ability Sap Sipper makes its holder immune to Grass-type moves entirely and boosts its Attack stat instead of taking damage [2][5]. It shows up on a specific list of Pokémon — Bouffalant, Skiddo/Gogoat, the Goodra line, and Miltank/Azumarill as a hidden ability, among others — and it’s the reason a “Grass counters everything else” plan can still fail outright against the one Pokémon standing in front of you.

The Dual-Typing Rescue Chart

This is the part most weakness charts skip: testing what a second type actually does to the five weaknesses, one real combination at a time. The results aren’t even close — one combo does dramatically more work than the rest.

Combo (example)Weaknesses cancelledNew costVerdict
Grass/Steel (Ferrothorn, Kartana)Ice, Poison, Flying, Bug — 4 of 5Fire becomes 4x; picks up a new Fighting weaknessBest defensive typing in the game overall, if you can play around Fire
Grass/Rock (Lileep, Cradily)Fire, Poison, Flying — 3 of 5Ice stays weak; gains Fighting and Steel weaknessesSolid, but Ice and the new weaknesses keep it from Ferrothorn’s tier
Grass/Poison (Venusaur)Poison, Bug — 2 of 5Gains a Psychic weakness; loses the Ground resistanceMiddling defensively — Venusaur’s value is offensive, not this trade
Grass/Flying (Tropius)Bug — 1 of 5Ice jumps to 4x; loses the Electric resistanceWorse defensively than staying pure Grass in most matchups
Grass/Dragon (Flapple, Appletun)Fire — 1 of 5Ice jumps to 4xTrades one clean weakness for a worse one
Visual comparison of an unprotected Grass creature versus a steel-armored Grass creature blocking most weaknesses
Dual-typing rescue chart: Grass pairings that cancel key weaknesses.

Kartana is the clearest proof this isn’t just theory: base 181 Attack and Grass/Steel typing make it a genuine offensive threat, and its typing does cancel four of Grass’s five weaknesses [3]. But its 4x Fire weakness combined with a base 31 Special Defense means a single resisted-on-paper special Fire move can still one-shot it — canceling a weakness on the type chart doesn’t cancel the stat problems underneath it. That’s the honest tradeoff Grass/Steel makes: five manageable weaknesses become two, but one of the two is close to fatal.

Which Type Should You Lead With? A Decision Tree

If you’re picking an attacker against a Grass-type and don’t want to overthink it, work through this in order:

  • Don’t know the secondary type at all? Lead with Ice. It’s the one weakness no real Grass dual-typing resists, and several common combos make it worse.
  • Confirmed Steel secondary (Ferrothorn, Kartana, Ferroseed)? Switch to Fire or Fighting — Ice, Poison, Flying, and Bug will all underperform.
  • Confirmed Rock secondary (Cradily, Lileep)? Ice or Bug still work; Fire, Poison, and Flying will disappoint.
  • Confirmed Flying, Ground, or Dragon secondary? Ice is now quadruple effective — it’s the strongest single answer available.

Already sent in the wrong type? It’s rarely fatal against Grass specifically. Because none of Grass’s four resistances (Water, Electric, Grass, Ground) hit particularly hard, a mismatched attacker usually just trades neutral damage instead of getting punished — the real risk is standing in on a Grass/Steel target with a Poison or Bug move and eating a free turn of chip damage while it sets up. If that happens, switch to whatever hard-checks the visible secondary type (Fire or Fighting for Steel, Ground or Psychic for Poison) rather than doubling down on the original Grass counter — the fail state here is a wasted turn, not a lost game.

New Player vs. Competitive Builder: Different Advice, Same Chart

Player typeWhat actually matters
New playerJust remember Fire, Ice, Poison, Flying, Bug beat Grass, and Water/Electric/Ground don’t. You don’t need the dual-type math yet — pick any of the five and you’ll usually win the matchup.
Competitive builder (VGC/Showdown)Check the target’s exact secondary typing before committing a moveslot. Against a team running Ferrothorn or Kartana specifically, Ice/Poison/Flying/Bug coverage is dead weight — you need Fire or Fighting.
Pokémon GO playerThe same five types apply, but at GO’s own multipliers, and raid bosses are almost always dual-typed — the exact stacking math is what decides your top pick, not the type name alone.

Pokémon GO Raid & PvP Counters

Pokémon GO runs a different multiplier scale than the main series: 1.6x for a single super-effective hit instead of 2x, and 0.625x for a single resist instead of 0.5x [4]. Those numbers stack for dual-type raid bosses — two weaknesses at once becomes 1.6 x 1.6 = 2.56x, while two resistances stack down to roughly 0.39x. Our full Pokémon GO type chart breaks down every type’s multipliers if you want the complete picture beyond Grass.

Practically, that softer curve means a merely-decent counter is more forgivable in a GO raid than it would be in a mainline Showdown battle — a 1.6x hit still clears most raid bosses well within the timer, even without a perfect type match. For raid lobbies specifically, our raid boss counters guide covers how Shadow and Mega boosts stack on top of these base multipliers. And if you’re building a broader anti-Grass roster, Flying-type attackers deserve a second look — they hit Grass at 1.6x while also resisting the Grass-type retaliation moves a Water-heavy Great League team might carry; our Flying type weaknesses guide covers the reverse matchup for anyone building around them.

A lineup of fire, ice, poison, flying, and bug type creatures ready for battle against Grass types
Best anti-Grass attackers for Pokemon GO raids and PvP.

FAQ

Which type should you lead with if you don’t know a Grass-type’s secondary typing?
Ice. It’s the only one of the five weaknesses that no real Grass dual-typing turns into a resistance — the best any combo does is bring it to neutral (Grass/Steel), while Flying, Ground, and Dragon secondaries all push it to 4x instead. Fire is the next best default, but Grass/Rock Pokémon like Cradily resist it outright, so Ice has fewer bad outcomes.

Does Grass/Steel typing actually make a Pokémon safe to use?
No, and treating it that way is the mistake. It’s a genuine defensive upgrade — four of five weaknesses cancelled — but it concentrates the risk instead of removing it. Kartana and Ferrothorn both take Fire at 4x, and Kartana’s base 31 Special Defense means even a merely-effective special Fire move can knock it out in one hit. Trading five manageable weaknesses for two, one of which is close to fatal, is a real tradeoff, not a clean win.

Is Pokémon GO’s Grass weakness chart the same as the main games?
The same five types apply, but the math is softer — 1.6x instead of 2x for a single weakness [4]. That’s why a slightly-off counter choice matters less in a GO raid than it does in a ranked Showdown battle: even a merely-effective attacker usually still clears the timer, so it’s worth optimizing for availability and moveset over chasing a marginally higher multiplier.

What’s the best single counter if you don’t know anything about the Grass-type you’re facing?
A Flying-type with an Ice or Fire coverage move. Flying already hits Grass at 2x (1.6x in GO) while resisting Grass’s own retaliation moves, and pairing it with Ice or Fire coverage means you’re not blanked by the one common typing — Grass/Steel — that actually resists Flying.

Sources

[1] Grass type Pokémon — Pokémon Database
[2] Grass (type) — Bulbapedia
[3] Kartana — Pokémon Database
[4] Pokémon GO type chart — Pokémon Database
[5] Sap Sipper — Pokémon Database

Michael R.
Michael R.

I've been playing video games for over 20 years, spanning everything from early PC titles to modern open-world games. I started Switchblade Gaming to publish the kind of accurate, well-researched guides I always wanted to find — built on primary sources, tested in-game, and kept up to date after patches. I currently focus on Minecraft and Pokémon GO.