Table of Contents >> Show >> Hide
- What Is HM Fly in Pokémon HeartGold and SoulSilver?
- How to Get HM Fly on Pokémon HeartGold or SoulSilver: 8 Steps
- Step 1: Progress Through Johto Until You Reach Olivine City
- Step 2: Get Surf Before Leaving for Cianwood City
- Step 3: Surf West and South from Olivine City
- Step 4: Arrive in Cianwood City and Heal Your Team
- Step 5: Enter the Cianwood Gym and Stop the Waterfall
- Step 6: Defeat Chuck, the Cianwood Gym Leader
- Step 7: Leave the Gym and Receive HM02 Fly from Chuck’s Wife
- Step 8: Teach Fly to a Compatible Pokémon and Use It
- Best Pokémon to Teach Fly in HeartGold and SoulSilver
- Common Mistakes Players Make When Trying to Get HM Fly
- Why HM Fly Matters So Much in Johto
- Extra Tips for Beating Chuck More Easily
- 500-Word Experience Section: What It Feels Like to Finally Get Fly
- Conclusion
Few moments in Pokémon HeartGold and Pokémon SoulSilver feel as freeing as finally getting HM02 Fly. Before that point, Johto is charming, nostalgic, and occasionally a little too committed to making you walk everywhere like your running shoes are paying rent. After you unlock Fly, the region suddenly opens up. Need to return to Goldenrod City? Fly. Forgot something in Ecruteak City? Fly. Want to avoid surfing back across a sea full of Tentacool encounters? Absolutely, definitely, enthusiastically Fly.
This guide explains exactly how to get HM Fly in Pokémon HeartGold or Pokémon SoulSilver in eight clear steps. You will learn where HM02 is located, which Gym Leader you must defeat, how to prepare for the Cianwood City Gym, which Pokémon can learn Fly, and what to do immediately after receiving it. The process is not complicated once you know the route, but the game does make you earn it by sending you across Johto’s western sea, through Cianwood City, and into a Fighting-type Gym where Chuck is apparently training under a waterfall because regular push-ups were too boring.
What Is HM Fly in Pokémon HeartGold and SoulSilver?
HM02 Fly is both a battle move and a field move. In battle, Fly is a two-turn Flying-type attack: your Pokémon rises into the air on the first turn and strikes on the second. Outside battle, Fly lets you instantly travel to towns and cities you have already visited. That second use is the real treasure. Once you can Fly, Johto becomes much easier to navigate, especially because HeartGold and SoulSilver frequently ask you to backtrack between cities for story events, Gym challenges, and errands.
In these games, you receive HM02 Fly in Cianwood City after defeating Chuck, the Fighting-type Gym Leader. The person who gives it to you is Chuck’s wife, who waits outside the Cianwood Gym. Once Chuck is beaten and you have earned the Storm Badge, she rewards you with HM02. It is one of those classic Pokémon moments where one person’s marital frustration becomes your fast-travel upgrade. Everybody wins, except maybe Chuck.
How to Get HM Fly on Pokémon HeartGold or SoulSilver: 8 Steps
Step 1: Progress Through Johto Until You Reach Olivine City
Before you can get Fly, you need to advance far enough in the story to reach Olivine City. This usually happens after you have cleared earlier Johto areas such as Violet City, Azalea Town, Goldenrod City, and Ecruteak City. By this point, your team should be somewhere in the mid-to-high 20s, though exact levels depend on how many Trainers you battle, how often you rotate your party, and whether you are the type of player who fights every wild Rattata with the seriousness of a championship match.
Olivine City is important because it connects the main story to Cianwood City. When you first arrive, you will discover that Jasmine, the Olivine Gym Leader, is not ready to battle. She is caring for Amphy, the sick Ampharos at the top of the Glitter Lighthouse. To help Amphy, you need medicine from Cianwood City. Conveniently, that same trip leads you toward Chuck’s Gym and HM Fly.
Step 2: Get Surf Before Leaving for Cianwood City
You cannot reach Cianwood City on foot. You need Surf, because Cianwood is across the water from Olivine. In Pokémon HeartGold and Pokémon SoulSilver, HM03 Surf is obtained in Ecruteak City at the Kimono Dance Theater after dealing with the Team Rocket Grunt there. Once you have Surf, teach it to a compatible Water-type Pokémon or another Pokémon in your party that can use it.
Surf is not just required for reaching Cianwood; it is also one of the most useful Water-type moves in the game. Unlike some HMs that feel like backpack clutter with animation, Surf is actually strong in battle. A Pokémon like Quagsire, Gyarados, Lapras, Tentacruel, or Feraligatr can put it to good use. Before you sail away from Olivine, make sure your Surf user is healthy and your team has enough healing items. The ocean route includes Trainers and wild encounters, so do not treat it like a relaxing beach vacation unless your idea of relaxing includes constant Tentacool interruptions.
Step 3: Surf West and South from Olivine City
From Olivine City, head to the beach area and use Surf to travel across the water. Your goal is Cianwood City, which is southwest of Olivine. Along the way, you will pass through sea routes with Swimmers, wild Water-type Pokémon, and whirlpools that you cannot fully deal with yet. Stay focused on reaching Cianwood. You do not need Whirlpool to get HM Fly.
This trip is also a good opportunity to train. Chuck’s team is not enormous, but it can hit hard if you show up underleveled or unprepared. Fighting-type Pokémon are especially threatening to Normal, Rock, Steel, Ice, and Dark types. If your team is full of Pokémon weak to Fighting, the Cianwood Gym may turn into a very educational disaster. Bring Pokémon with Flying- or Psychic-type moves if possible, and consider carrying Super Potions, Lemonades, or other healing items.
Step 4: Arrive in Cianwood City and Heal Your Team
Once you land in Cianwood City, your first stop should be the Pokémon Center. Heal your party, check your items, and decide which Pokémon you want to bring into the Gym. Cianwood City is not huge, but it is important. It contains the Pharmacy where you can get the SecretPotion for Amphy, the Cianwood Gym where Chuck waits, and the NPC who gives you HM Fly after Chuck is defeated.
You may want to visit the Cianwood Pharmacy while you are here, since the SecretPotion is needed to continue Jasmine’s storyline back in Olivine. However, if your immediate goal is Fly, the key destination is the Gym. You can pick up the medicine before or after battling Chuck, but many players like grabbing it while already in town so they do not forget. Forgetting important story items is a proud Pokémon tradition, but it is not a required one.
Step 5: Enter the Cianwood Gym and Stop the Waterfall
In HeartGold and SoulSilver, the Cianwood Gym has a waterfall puzzle. Chuck is training under a heavy waterfall and will not battle you until the water is stopped. To reach the control mechanism, climb the stairs inside the Gym and make your way to the winch. You will need to battle at least some of the Gym Trainers along the way.
The Gym specializes in Fighting-type Pokémon, so Flying-type and Psychic-type attacks are excellent here. Pokémon like Pidgeotto, Fearow, Crobat, Togetic, Noctowl, Kadabra, Espeon, or any team member with a reliable Flying or Psychic move can be useful. Be careful with Pokémon that are weak to Fighting, especially if they are central to your team. A Rock-type may look sturdy, but in Chuck’s Gym it can fold faster than a cheap lawn chair.
Once you activate the winch and stop the waterfall, return to Chuck. Now he will accept your challenge. This is the required battle standing between you and HM02 Fly.
Step 6: Defeat Chuck, the Cianwood Gym Leader
Chuck uses Fighting-type Pokémon. In HeartGold and SoulSilver, his main team includes Primeape and Poliwrath. Primeape is a pure Fighting-type, while Poliwrath is Water/Fighting. That second typing matters because Electric- and Grass-type moves can help against Poliwrath, while Flying and Psychic attacks remain strong options against the Fighting side.
Primeape can be annoying because it is quick and can pressure weaker Pokémon. Poliwrath is bulkier and more dangerous, especially if you let the battle drag on without a plan. A good strategy is to use Flying-type attacks against Primeape and consider Psychic, Electric, or Grass coverage for Poliwrath. If your team has a Kadabra, Flaaffy, Ampharos, Pidgeotto, Fearow, or a strong Grass-type move, you are in good shape. If your plan is “send in my favorite Pokémon and hope friendship handles the rest,” that may work too, but pack healing items just in case friendship takes a coffee break.
When you defeat Chuck, you earn the Storm Badge. This badge is the key requirement for receiving and using HM Fly outside battle. Chuck also gives you TM01 Focus Punch in the Nintendo DS remakes, but the big prize for travel is waiting outside the Gym.
Step 7: Leave the Gym and Receive HM02 Fly from Chuck’s Wife
After beating Chuck, exit the Cianwood Gym. Chuck’s wife is outside the Gym, and in HeartGold and SoulSilver she gives you HM02 Fly after noticing that you defeated her husband. This is the exact moment you get HM Fly. You do not need to search a cave, solve a hidden puzzle, or buy anything from a department store. Just defeat Chuck and leave the Gym.
If you somehow miss the interaction, talk to the woman standing outside the Cianwood Gym. She is the NPC associated with HM02 Fly. Once the HM is in your Bag, you can teach it to a compatible Pokémon. Unlike modern Pokémon games, HMs in HeartGold and SoulSilver are still permanent-style utility moves that usually require the Move Deleter to remove later, so choose your Fly user thoughtfully.
Step 8: Teach Fly to a Compatible Pokémon and Use It
Open your Bag, go to the TMs and HMs pocket, select HM02 Fly, and choose a Pokémon that can learn it. Most Flying-type Pokémon can learn Fly, though not every Pokémon with wings automatically qualifies in every generation. Common Johto-friendly choices include Pidgeotto, Pidgeot, Fearow, Crobat, Noctowl, Togetic, and Lugia later in the game. If you chose Cyndaquil or Totodile as your starter, a bird Pokémon can be especially useful as your dedicated Fly user. If you chose Chikorita, you may still want a Flying-type teammate for coverage against Bug, Grass, and Fighting foes.
Once taught, use Fly from the party menu or the field move menu. You can travel to towns and cities you have already visited. This makes it much easier to return to Olivine City, deliver the SecretPotion to Jasmine, challenge the Olivine Gym, revisit Goldenrod City, or handle side tasks without walking across half the region again. Congratulations: your Johto commute just got upgraded from “long scenic hike” to “bird-powered express service.”
Best Pokémon to Teach Fly in HeartGold and SoulSilver
The best Fly user depends on your team. If you want a practical early-game choice, Pidgey and Spearow are both easy to find and can evolve into reliable Fly users. Pidgeot has balanced stats and classic appeal, while Fearow is faster and hits respectably hard. Noctowl is bulkier and can offer useful support moves, though it is not usually the strongest physical attacker. Crobat is excellent if you are willing to raise a Zubat or Golbat with enough friendship, and it gives you great Speed plus useful Poison/Flying typing.
Togetic can also learn Fly, but many players use it more for support than raw damage. Later, powerful options such as Lugia in SoulSilver or Ho-Oh in HeartGold can learn Fly, but by that point you will likely already have another Pokémon carrying it. For a normal playthrough, the most convenient answer is simple: teach Fly to a Flying-type you actually like using. A good HM user is helpful, but a good teammate is better.
Common Mistakes Players Make When Trying to Get HM Fly
Going to Cianwood Without Surf
You cannot reach Cianwood City without Surf. If you are stuck in Olivine and wondering where to go, check whether you already obtained HM03 Surf from Ecruteak City and taught it to a Pokémon. Without Surf, the route to Cianwood is closed.
Forgetting to Fight Chuck
Some players reach Cianwood, collect the SecretPotion, and immediately return to Olivine. That helps Jasmine’s storyline, but it does not get you Fly. You must defeat Chuck in the Cianwood Gym first.
Not Stopping the Waterfall
If Chuck will not battle you, the Gym puzzle is not complete. Climb to the upper area of the Gym, use the winch, and stop the waterfall. Once the water is shut off, Chuck becomes available for battle.
Teaching Fly to a Pokémon You Do Not Want to Keep
HMs are not as flexible in these games as they are in newer titles. If you teach Fly to a Pokémon, removing it later requires the Move Deleter. Choose a Pokémon you are comfortable keeping in your party or one you are happy using as a long-term utility Pokémon.
Why HM Fly Matters So Much in Johto
Johto is built around movement. The region is not enormous, but it asks you to revisit earlier areas often. You may need to return to Ecruteak, Goldenrod, Olivine, New Bark Town, or other cities for story progression, shopping, training, breeding, radio events, or side content. Before Fly, traveling across Johto can feel slow, especially when wild encounters interrupt every few steps. After Fly, your adventure becomes smoother and more flexible.
Fly is also important because it arrives at a natural turning point in the game. By the time you defeat Chuck, you are moving from the early-middle Johto journey into a broader section of the adventure. You still have Jasmine, Pryce, Clair, Team Rocket events, the Pokémon League, and eventually Kanto ahead. Unlocking Fly here helps the rest of the game flow better.
Extra Tips for Beating Chuck More Easily
If Chuck is giving you trouble, train your team a little before challenging him again. The sea routes between Olivine and Cianwood include Trainers who can provide useful experience. You can also battle wild Pokémon near Cianwood or revisit earlier routes if your team needs safer grinding.
Bring status moves if you have them. Sleep, paralysis, confusion, and accuracy-lowering moves can all help if your Pokémon are slightly underleveled. Flying-type moves such as Wing Attack, Aerial Ace, or Fly itself later are useful against Fighting types, while Psychic-type moves can hit hard. For Poliwrath, Electric-type attacks are a strong option because Poliwrath is part Water-type.
Do not rely only on one Pokémon if you can avoid it. Chuck’s Pokémon can punish a fragile lead, and Poliwrath can be surprisingly durable. A balanced team with healing items is safer than one overleveled hero and five emotional support passengers.
500-Word Experience Section: What It Feels Like to Finally Get Fly
Getting HM Fly in Pokémon HeartGold or Pokémon SoulSilver feels like the game quietly handing you the keys to Johto. Before Cianwood, the journey has a slower, almost road-trip rhythm. You walk through routes, cross forests, cut down trees, explore towers, and surf across the sea because the game wants you to feel the size of the region. That is charming for a while. Then you realize you left something in Goldenrod City, your Pokémon are tired, your Bag needs organizing, and Olivine is somehow both close and not close enough. Suddenly, Fly becomes less of a convenience and more of a lifestyle.
The Cianwood section is memorable because it bundles several classic Pokémon experiences into one stretch. You are helping Jasmine’s Ampharos, exploring a remote coastal city, battling through a tough Gym, and earning one of the most useful HMs in the game. The reward feels deserved. You did not just find Fly lying behind a random signpost. You crossed the ocean, handled Trainers, walked into Chuck’s waterfall-powered dojo, and proved you could beat a Gym Leader who trains like he is preparing for a martial arts movie.
For many players, this is also the moment when team planning starts to matter more. Maybe you have been carrying a Pidgey since the early routes and now it finally becomes your official travel partner. Maybe your Crobat, raised with patience and friendship, becomes the coolest taxi service in Johto. Maybe you teach Fly to a Pokémon purely because you need the field move, then accidentally grow attached to it after dozens of trips around the map. That is part of the magic of older Pokémon games: utility Pokémon often become real teammates because they are with you for so much of the journey.
Fly also changes how you think about side content. Need to check the Department Store in Goldenrod? Easy. Want to revisit the Day Care? No problem. Forgot to heal before taking on Jasmine? Fly back, fix it, and return without turning the trip into a hiking documentary. The move reduces friction, which makes exploration more enjoyable. Instead of asking, “Do I really want to walk all the way back there?” you start asking, “Where should I go next?” That is a much better question.
There is also something satisfying about receiving HM02 from Chuck’s wife. It is funny, simple, and very Pokémon. She sees that you beat her husband, comments in her own way, and gives you one of the best travel tools in the game. It is not dramatic, but it is memorable. In a series full of legendary battles and world-ending plots, sometimes the best reward is a practical gift from an NPC who has clearly had enough of her husband standing around training all day.
By the time you Fly back to Olivine City with the SecretPotion, you can feel the adventure picking up speed. Jasmine’s Gym is waiting, the rest of Johto is opening, and your team is becoming more complete. HM Fly is not just a move. It is the point where the map starts to feel like yours.
Conclusion
To get HM Fly in Pokémon HeartGold or Pokémon SoulSilver, travel to Cianwood City, defeat Chuck at the Cianwood Gym, leave the Gym, and receive HM02 Fly from Chuck’s wife outside. The process requires Surf, a prepared team, and a successful Gym battle, but the reward is one of the most useful field moves in the entire game. Once you teach Fly to a compatible Pokémon, Johto becomes faster, friendlier, and far less exhausting to cross.
Whether you are replaying these Nintendo DS classics for nostalgia or exploring Johto for the first time, HM Fly is a milestone worth celebrating. It saves time, improves your route options, and makes the rest of the journey smoother. Beat Chuck, claim the Storm Badge, teach Fly to your favorite winged teammate, and enjoy the sweet freedom of never manually walking from Cianwood to Goldenrod again unless you really, really miss wild encounters.
Note: This article is written as an original, web-ready SEO guide based on verified gameplay information from Pokémon HeartGold and Pokémon SoulSilver.
