Spokesman Ruben Aguilar defended the law, which was approved Friday by Mexico's Senate, despite criticism in the United States that it could increase casual drug use.
"The president is going to sign this law," said Aguilar, who called the legislation "a better tool ... that allows better action and better coordination in the fight against drug dealing."
"The government believes that this law represents progress, because it established the minimum quantities that a citizen can carry for personal use," Aguilar said.
Under current Mexican law, judges can drop charges against people caught with drugs if they can prove they are addicts and if an expert certifies they were caught with "the quantity necessary for personal use."
The new bill makes the decriminalization automatic and drops the addict requirement - automatically letting any "consumers" have drugs.
While police will still be able to detain people for public consumption or possession of drugs, it appears that those caught could only be referred to a treatment program - of which Mexico has few - or have their names added to a registry of addicts.
On Friday, Mayor Jerry Sanders of San Diego, said he was "appalled" by the bill. The city of 1.3 million people is a short drive from the Mexican border town of Tijuana.
"I certainly think we are going to see more drugs available in the United States," Sanders said. "We need to register every protest the American government can muster."
Under the new law, consumers may possess up to 25 milligrams of heroin, five grams of marijuana (about one-fifth of an ounce, or about four joints), or 0.5 grams of cocaine - the equivalent of about four "lines," or half the standard street-sale quantity.
The law also establishes allowable quantities for other drugs, including LSD, ecstasy - about two pills' worth - and amphetamines.
However, the bill stiffens penalties for trafficking and possession of drugs - even small quantities - by government employees or near schools, and it maintains criminal penalties for drug sales.
It also gives local police more power to go after small-scale dealing.