I have Pokemon soul silver and this works for me so it should work in heart gold. Since a light ball is rare ( they are held by picachu's but there is only 5% chance) , so there is another way. If you haven't beaten the elite four and you can't go to mount silver, don't bother to try to do what I'm about to tell you, just keep catching picachus. but if you can go in mount silver keep reading. Ok then take a high level Pokemon that knows thief. Make sure it has no items on it. Put it as your first Pokemon. Then go to mount silver, and go to the top and battle Red. when his picachu comes use thief on him. You will take his light ball. Then win or lose and there you go! a light balll ! you can repeat this as many times.
Chat with our AI personalities
I think that TM energy ball doesn't exist in heartgold. You can find it in Pokemon diamond and pearl on ds.
By downloading the yellow forest WiFi gift that is out right now, walking around for about five to ten thousand steps (depending on the type of Pokemon you brought along), then using the dowsing machine to find items in the grass, which might be a light ball.
It is really hard to get one. On Pokemon Platinum you need to find PIchu/Pikachu and catch it or use thief and if your lucky enough it will be holding a light ball. I
You can find it in Pokemon Platinum, Pokemon Crystal, Pokemon HeartGold, and Pokemon SoulSilver.
Find and then catch