You can only get one. If you use the action replay, though, then you can either use the wild modifier code or catch trainer Pokemon code to get all three of them.
Chat with our AI personalities
Trade with other people who have heart gold or soul silver.
It is not possible to get all three starters in Pokemon LeafGreen without trading. This was an intended mechanic to encourage interaction between players.
There's only one way to get all 3 starters in Pokemon HeartGold/SoulSilver, but you will need to have 2 DS's and 2 games. You start with a Pokemon and trade it on your other game on your other DS. You start a new game and then do the same with your other 2 and then trade them back. You then have all 3 starters.
You don't not unless you trade or cheat
get one at the beginning and trade the others