The ultimate boss requires careful strategy if you want to win your battle.

Giovanni is the closest thing Pokémon GO has to a final boss. He comes armed with a strong team of Pokémon, which you will need the perfect counters in order to defeat. Our guide will help you be prepared for the next time you face Giovanni in Pokémon GO.

There are several Pokémon that Giovanni could use in each of his three slots. We will break down the counters for each opportunity. You might have to fight him once to see what he has, then rematch with the best options for who is on his team.

Giovanni's lineup changed on March 27th, we have updated this guide to reflect this so you can prepare your team for his latest lineup.

How to find Giovanni in Pokémon GO

Perhaps the hardest part of beating Giovanni in Pokémon GO is finding him. The only way to encounter Giovanni is through a Team GO Rocket Special Research quests. The next of this will come during the Taken Treasures event.

These Special Research quests will see you battling grunts, then defeating each of Cliff, Sierra and Arlo. This will grant you a Super Rocket Radar. Once you equip the Radar, you can locate and fight Giovanni.

You can't get a Super Rocket Radar any other way than via the Special Research quests for Team Rocket.

How to beat Giovanni in Pokémon GO

Giovanni is one of the toughest fights in Pokémon GO. He has very strong Shadow Pokémon. You'll need to choose specific counters that target the weaknesses of his team.

Luckily, Giovanni always starts with the same signature Pokémon. Then, he will choose from a random pool of three for his second 'Mon. Finally, the current legendary Pokémon will be his final pick. This is will be Shadow Groudon. It has been things like Shadow Kyogre or Shadow Mewtwo in the past.

Best Giovanni counters in Pokémon GO:

Persian counters:

Persian is a Normal-type Pokémon. This makes it weak to Fighting-type attacks. You'll want to avoid using Ghost-type Pokémon as these won't be effective here.

Here are some of the best Fighting-type Pokémon to go against Giovanni's Persian.

Mega Blaziken
Counter & Focus Blast
Double Kick & Sacred Sword
Mega Heracross
Counter & Close Combat
Counter & Aura Sphere
Counter & Dynamic Punch

Giovanni Pokémon GO counters phase two:

For the second Pokémon, Giovanni will use any one of Nidoking, Kingler and Garchomp. If you have to fight him more than once, this Pokémon won't change. If you completely back out of an encounter, and encounter him a different time it could result in a different one of these three being used.

Nidoking counters:

Nidoking is a Poison and Ground-type Pokémon. This makes it weak to Ground, Ice, Psychic and Water-type moves. It is resistant to Electric, Poison, Bug, Fairy and Fighting-types.

Here are some of the best Nidoking counters:

Psycho Cut & Psystrike
Waterfall & Origin Pulse
Mud Shot & Earth Power
Mud Slap & Avalanche or High Horsepower
Mud Shot & Precipice Blades

Rhyperior counters:

Rhyperior is a Ground and Rock-type Pokémon and is therefore weak to no less than 6 types. Rhyperior is double weak to Grass and Water so these make great choices for this encounter.

Here are some of the best Rhyperior counters:

Waterfall & Origin Pulse
Razor Leaf & Leaf Blade
Mega Sceptile
Bullet Seed & Frenzy Plant
Mega Swampert
Water Gun & Hydro Cannon
Mud Shot & Precipice Blades

Garchomp counters:

Garchomp is a a dual typed Dragon and Ground Pokémon. This gives it weaknesses to Dragon, Fairy and Ice-type attacks. It is doubly weak to Ice-type attacks so these are excellent counters for Garchomp.

Be careful with Dragon type counters, as they'll also be weak to Giovanni's Garchomp if they are using a Dragon type move themselves.

Powder Snow & Avalanche
Frost Breath & Avalanche
Mega Rayquaza
Dragon Tail & Outrage
Mega Garchomp
Dragon Tail & Outrage
Mega Gardevoir
Charm & Dazzling Gleam

Giovanni Pokémon Go counters phase three

The third stage of a battle with Giovanni in Pokémon GO will always be against a legendary Pokémon. This is the Pokémon you will be able to catch if you win the battle.

Best Shadow Groudon Counters:

From March 27, Giovanni will have Shadow Groudon as his final Pokémon. Kyogre will no longer be the final encounter for Giovanni.

This will be the best non mega Ground-type attacker in the game and will be well worth battling to try and catch.

Groudon is a pure Ground-type and therefore is best countered by powerful Grass or Water or Ice-type Pokémon.

Primal Kyogre
Waterfall & Origin Pulse
Mega Sceptile
Bullet Seed & Frenzy Plant
Mega Swampert
Water Gun & Hydro Cannon
Razor Leaf & Leaf Blade
Mega Blastoise
Water Gun & Hydro Cannon

Best overall team to defeat Giovanni in Pokémon GO

Sometimes, it can be hard to pick an especially strong team to fight Giovanni in Pokémon GO as there can be such different types between all of his potential Pokémon.

However, his current team has a few Pokémon that share types and you can have a pretty good shot at winning the battle first time no matter what his second Pokémon ends up being. Both Persian and Regigigas share a fighting type weakness, and two of the three second Pokémon have shared counters too.

One of the best teams to fight Giovanni in Pokémon GO is currently Terrakion, Kyogre and Mega Swampert. Terrakion is a great fighting type Pokémon, with the best stats in the game for a non-mega. He will blast through Persian. Kyogre will counter Shadow Groudon, but also Rhyperior and Nidoking. With Blizzard as a second move, it can even cover Garchomp.

Then, Mega Swampert is a great choice. It counters several of the Pokémon that Giovanni can have, and if you have a Mega Level 3 Swampert, will also yield you extra Groudon Candy and Candy XL when caught after the raid. Mega Swampert is a must pick when fighting Giovanni.

Don't forget that Sunny or Clear Weather can increase the IVs of the Shadow Groudon you encounter.

This team should give you a great chance at beating Giovanni in Pokémon GO. You can always tweak your team if needed after seeing what Pokémon he has.

Stay tuned to for the latest esports news and more Pokémon guides.