The 20-year-old Snigur showed poise beyond her years to break Halep in the opening game and again in the third as she capitalised on a mounting number of unforced errors from the Romanian.
However, Snigur's form completely fell apart in the second set as Halep stormed through six games in 24 minutes to roars of approval from the crowd at Lois Armstrong Stadium.
But Halep, who won the Canadian Open title for the third time earlier this month before pulling out of Cincinnati with an injury, failed to maintain that momentum as she dropped her serve in the first and fifth games.
The 30-year-old broke Snigur in the eighth game to stay alive and fended off two match points in the next game. But Snigur kept her nerve to seal victory before bursting into tears.