How do you earn Gold in Heroes of the Storm?
Via a Heroes of the Storm wiki:
Gold is used to purchase skins, mounts, and permanent access to heroes.
- Playing a match (non-vs-A.I.) gives you 20 gold, or 30 gold if you win. A stimpack increases this to 50 and 75 per match, respectively.
- Winning a vs-A.I. match gives you 10 gold.
- Reaching player levels 2 and 4 gives you 1000 gold each.
- Reaching player levels 8, 10, 20, 25, 30, 35 and 40 gives you 2000 gold each.
- Reaching Hero level 5 (out-of-game) on any Hero gives you 500 gold each.
- Reaching Hero level 9 on any Hero gives you 750 gold each.
- Reaching Hero level 15 on any Hero gives you 1,000 gold each.
- Reaching Hero level 20 on any Hero gives you 2,000 gold each.
- Completing a quest gives you 200 to 800 gold, depending on the quest.
- Completing the Introduction tutorial for 250 gold, the Basic tutorial for 250 gold, and Advanced tutorial for 500g. Press Escape when you're in the main menu and then hit tutorials and select which ever one.
So yes, you can unlock anything in the game (except cosmetic options) without spending a penny.
With the release of Heroes 2.0, the level progression rewards have changed. Instead of earning varying amounts of gold at various player and hero thresholds, you earn 500 gold with every 5 levels you attain with a hero.
To expand on the Daily Quest gold rewards, you always earn gold equal to 100 × the number of games needed to complete the quest. It is either 8 (for 'Play 8 games'), 3 (for 'Play 3 games as x role'), or 2 (for 'Play 2 games as a hero from x universe'). The only exception is "Win 3 games", which rewards 600 gold.