Goalkeeper Dang Kieu Trinh denied numerous opportunities to the Chinese before she let one through from Gu Yasha 12 minutes after the interval.
Zhang Rui was successful with her penalty six minutes later and eased her squad to the first victory of the qualification round.
The Chinese showed their much better physique and skills from the beginning of the match.
However, they could not break through the resilient Vietnamese defence, especially the goalkeeper Trinh in the tense first half.
The Chinese should have scored much earlier when they were given a penalty kick after Bich Thuy pulled a Chinese down in the box. Captain Li Dongna failed to beat Trinh, who flung herself to her right to make a save.
Earlier, the best chance went to Ma Xiaoxu, whose 21st-minute effort failed to test Trinh before she also sent a free-kick wide 10 minutes later, and then misdirected a header from a Xue Jiao cross a minute shy of the break.
The pressure exerted by China finally paid off as Gu met Ren Guixin's cross to strike home shortly before the hour mark.
Some six minutes later they had a second penalty and Zhang made no mistake to double China's lead with 63 minutes gone.
Vietnam surged forward after the break and sent Nguyen Thi Lieu's curling shot onto the roof of the net. Nguyen Thi Tuyet Dung also had a half chance with five minutes remaining as Vietnam finished strongly, but it was China who ultimately claimed the hard-fought win.
"Everybody can see that the Vietnamese players, compared with the Chinese, are physically smaller, but we are really happy with the sprit we showed, and we fought 100 per cent throughout," Vietnamese coach Mai Duc Chung said.
"Before we came here we played a friendly tournament in China, where we lost 8-0, so our players knew what to do."
"We had a chance to improve our fitness and we could keep up with China. Of course, most of the time we defended and did not attack, but at half-time I said just to try your best and maybe we will lose but we cannot lose our spirit," the coach said.
"If we compare China today and during the previous tournament, I think today they did not use their best players, and they had some new players. So, maybe, the Chinese were trying to preserve their fitness for the coming matches."
On the other side, coach, Bruno Bini of China said it was not his best game since he began working with the squad. But he was okay as they bagged all three points.
In other games of the qualifier of the Asian zone, Australia beat Japan 3-1, and the Republic of Korea tied the Democratic People's Republic of Korea 1-1.
Vietnam will next play Australia tomorrow, while the Republic of Korea meet Japan, and the Democratic People's Republic of Korea face China.
The top two teams of the zone will qualify for this summer Games in Rio de Janeiro.