If you're in the beta, you'll know that buying packs of cards and doing arena costs money or gold.
Each pack of five cards is 100 gold, and each arena entry is 150 gold.
You get five gold every time you win 5 matches in ranked or unranked play. If you intend to never spend any real money, it's going to take awhile to get that gold.
There are dailies you can do which reward you with gold. The dailies are usually quests that involve winning x amount of duels with y class, they give you 40-60 gold when completed.
There are a few achievements that award you with a lot of gold. They are:
Got the Basics - 100 Gold for getting each hero to level 10.
Crush Them All - 100 Gold for beating each Expert Hero deck in practice mode.
Chicken Dinner - 300 Gold for winning 100 times, can be practice, arena or play mode wins.
That's all I've got so far, I believe there's an achievement for 1000 wins, not sure if that awards gold, anyone know?