The Mexican was awarded the bout 96-94, 97-93 and 98-92, despite his opponent throwing more than twice as many punches during the 10-rounder.
The crowd gave their opinion on the verdict, booing Chavez, who was making a comeback after serving a nine-month ban for marijuana use, as he left the ring at the StubHub Center.
Fighting for the first time since being beaten by Sergio Martinez, the former WBC middleweight champion had endured enough problems before stepping between the ropes on Saturday night.
Originally the bout had been scheduled to take place at the super-middleweight limit, only for Chavez to then confirm he would not be able to make weight. Instead, the two camps agreed to go ahead at 173lbs.
Vera was the aggressor from the opening bell as he always looked to keep busy. He cut his opponent above the nose in the seventh, though finished that round in serious trouble after taking a huge left.
That same punch worked well for Chavez throughout, and he was adamant afterwards that the decision by the three judges was correct.
"I definitely won seven or eight rounds of the fight," he said after stretching his professional record to 47-1-1. "I was very close to knocking him out like three times in the fight."
Vera, understandably, did not agree. Statistics showed he landed 176 of his 734 punches thrown, compared to 125 of 328 for Chavez.
"This is the best performance of my career," the American said. "The weight was never an issue. The game plan was exactly what we did. I was never hurt during the fight."