I don't know all of the Pokemon that can learn Headbutt, but I know that Cubone can learn it.
Note: You need Headbutt.New Bark Town Headbutt Trees.CherryGrove City Headbutt Trees.search him on your pokedex and it will be red instead of green that means you need to headbutt a tree using headbutt.
Headbutt a tree in the Viridian Forest, you might also get a shroomish.
headbutt certain trees in mt.silver and I think on route 28.
I've never tried, but I DON'T Think so. Why not try it? If not, there's a man in Ilex Forrest that will gladly teach your Pokemon 'headbutt'
There is a Move Tutor in Ilex Forest that teaches Headbutt.
talk to the guy in the pink suit and he gives you headbutt
Sorry, Weedle cannot learn Headbutt at all.
A man in Ilex Forest
You teach a Pokemon headbutt, then go up to one of the large, triangle trees and press A.
I don't know all of the Pokemon that can learn Headbutt, but I know that Cubone can learn it.
Note: You need Headbutt.New Bark Town Headbutt Trees.CherryGrove City Headbutt Trees.search him on your pokedex and it will be red instead of green that means you need to headbutt a tree using headbutt.
there is a fat guy somewhere headbutting trees who gives it to you i think in the forest.
dunno about heartgold, but in soulsilver it is in that area of grass under the day care and you have to headbutt to get him too.
Headbutt a tree in the Viridian Forest, you might also get a shroomish.
You go back to Ilex Forest and go to the dude that teaches Headbutt and make one of your Pokemon learn it again.
No, sorry. There are some Pokemon that learn Headbutt by level-up, though.