How can I get both Giga Drain and Mach Punch on Breloom?

According to Bulbapedia:

In Generation III, Breloom can learn Mach Punch only by leveling up (at lvl. 23), so if you want to learn both Mach Punch and Spore, you must put Everstone on Shroomish and level him up to lvl. 54, learning Giga Drain at level 45, then you should let him evolve to Breloom and teach him Mach Punch through the Move Reminder.


@Moondane suggested one method.

A second method is to obtain both a female Shroomish/Breloom and a breeding compatible male that know Giga Drain, such as Roselia or another Shroomish. The Shroomish offspring will know Giga Drain. Then evolve the offspring into Breloom at level 23 to learn Mach Punch (or evolve later and use the Move Reminder). This also works with Spore instead of Giga Drain. This method is longer, but it does mean you can have a Breloom knowing both Spore and Mach Punch at level 50, which can be useful for the Battle Tower and/or Frontier.

A third method is to clone a Pokemon holding TM19 (Giga Drain) on Pokemon Emerald. This means you can teach Breloom Giga Drain with the TM and still have another TM19 afterwards. This is likely the fastest method provided you are using Emerald. This only works for TMable moves, which excludes Spore.