Licensed pharmacies will sell the drug for less than $1 a gramme, with consumers allowed 40g (1.4oz) a month.
The bill specifies that each household may grow up to six cannabis plants, and that marijuana may be consumed in the same places as tobacco.
Last year, Uruguay became the first country in the world to make it legal to grow, sell and consume marijuana.
The bill proposed by President Jose Mujica is expected to come into force early next week.
A high-ranking government official told reporters on Friday that the gramme of marijuana would cost between 20 ($0.85) and 22 pesos ($0.95)
Diego Canepa said the government expected to launch the licensing process for companies interested in growing the drug within the next 15 days.
"Towards the end of November, early December, the sale of marijuana will already be available in the country through pharmacies," Mr Canepa said.
The government estimates the current marijuana demand in Uruguay at between 18 and 22 tonnes, which would equate to about 10 hectares of cannabis plantations.
The use of marijuana will be allowed in most public spaces where tobacco smoking is permitted - but not at workplaces.
Drivers caught "smoke-driving" will be subject to the same penalties as those under the influence of alcohol.
Uruguay's government hopes the bill will help tackle drug cartels, but critics say it will expose more people to drugs.
A recent UN report criticised the legalisation of drugs, saying it posed a health danger.
BBC News |