Mostly any pokemon.
top of the park
you get heracross or combees when you headbutt a tree
theres a guy in ixel forest and he will teach your Pokemon headbutt
a guy in the ilex forest
Use headbutt on a tree
Look in Viridian forest and headbutt trees.
from a guy in the woods where you get the 2 farfech'd
you go to Ilex forest and find a man in there and he will give you headbutt and teach it to you Pokemon and now you could headbutt a tree
Zen Headbutt is not a TM. It can be learned by leveling up, breeding, or by the Move Tutor.
Headbutt trees on route 38
somtimes you may have to fight a Pokemon in the butt
it is in the forestTo use headbutt in Soul Silver you go in the forest where the little house is you go a secret way. Then at the end, there is a guy. Talk to him and your first Pokemon will learn headbutt! If you want to use it, go to a tree, press A then it will say, "Do you want to hit this tree?" say YES. Then a Pokemon will appear.