In Pokemon Ruby/Sapphire/Emerald/Colloseum/XD he learns Dream Eater in lvl 33. But in Pokemon Firered/Leafgreen he learns it in lvl 28.
ghastly can use the move dream eater for more info go to serabi.net
In order to teach Dream Eater to any Pokémon, you would first need the TM for Dream Eater. Once you have the TM in your inventory, you need a Pokémon that is the correct type to learn the move.
In the Pokemon games Darkrai learns the move dark void at level 66. He is the only Pokemon which can learn this move.
In Generation I, the only Pokemon that can learn Dream Eater are Gastly, Haunter, Gengar, Drowzee, Hypno, and Mew. Gastly, Haunter, and Gengar are the only ones who learn it naturally, by leveling up; the remainder can learn it only by TM (TM 42, obtained in Viridian City).
It learns the move Dream Eater at level 57.
The Gastly family can learn it by level up and they can be found can be found in Lost Tower. TM 85, which contains dream eater, can be found at the Valor Lakefront.
To name a few, Butterfree, clefairy, meowth, drowzee, lapras, and umbreon. Most psychic types can learn dream eater, but it is useless unless the opponent is asleep.
hynosis and dream eater can be learned by tm's but nightmare once he evovle's
1. phycik 2. phybeam 3. hypnosis 4. dream eater
Actually to teach this move to Gengar you need to find the move tutor that will teach the move to any of your Pokemon this move tutor is in Viridian city you need the HM Cut to get to him though. Also a move tutor in Pokemon xd gale of darkness will teach Dream Eater to your Pokemon.
lvl 39