The only way is to trade it. You'll need to trade for a Haunter or Gengar if you want to own one.
Chat with our AI personalities
haunter has to be traded to evlove haunter evolve into gengar in level 42
Catch a Gastly (either in Burned Tower in Ecruteak City or in Sprout Tower in Violet City) and evolve it to a Haunter (it evolves at level 25). When you have a Haunter, just trade it and it will evolve into Gengar.
There is no NPC who you can trade a Haunter to for a Gengar in Pokemon Crystal. To get Gengar you will need to trade with another player or a copy of Pokemon Gold, Silver or Crystal.
you have to trade
They evolve naturally, ie graveler at level 40.