Spanish rider Vinales, on a Yamaha, inherited the lead on the fourth lap when world champion and pole-sitter Marc Marquez crashed out on his Honda, his machine careering spectacularly into the gravel at turn two with sparks flying off the tarmac.
Valentino Rossi, racing in his 350th grand prix, took second place on the second factory Yamaha, 2.915sec behind.
Britain's Cal Crutchlow, on a Honda, was third having been passed by Rossi six laps from home.
It was a third career victory in the elite class for the 22-year-old Vinales who switched to Yamaha from Suzuki for this season.
"Marquez started very strong and when he fell I said to myself that I needed to get as many points as possible," said Vinales who has a perfect 50 points after two races, 14 ahead of Rossi.
"I feel really happy and confident. It's like we are in a dream. I have to say thanks to the team, they are doing a great job, so let's continue like that."
Rossi, 38, added a second place to his third position in Qatar but admitted that Vinales, 16 years his junior, is the man to beat.
"Unfortunately, Maverick was a bit faster, but this result is really important for me and the whole team," said the Italian.
"I don't think the results would have been different if I'd passed Cal earlier in the race. Looking at the lap times, Maverick was a bit stronger and that's just the way it is today."
Marquez was not the only three-time world champion to suffer embarrassment.
His compatriot Jorge Lorenzo crashed out on the first lap as the Spaniard's miserable start to life as a Ducati rider continued.
He started the race on the sixth row on the grid having already struggled home in a disappointing 11th place in Qatar two weeks ago.
Ducati teammate Andrea Dovizioso, second in Qatar, was also a faller and failed to finish.
Honda saw their second factory rider Dani Pedrosa crash out on the same bend that had claimed Marquez although he had the consolation of at least lasting until the 12th lap.
"The crash was unexpected -- I must have made a small mistake, and it cost me a lot," said the 24-year-old Marquez.
"Luckily I'm okay, but these kinds of mistakes disappoint me, as everything was going well. Anyway, we must put this behind us and think of the next race in Austin."
All three class winners from Qatar triumphed in Argentina with Italy's Franco Morbidelli taking the Moto2 honours and Spain's Joan Mir coming home again in first place in Moto3.
Morbidelli, tiding a Kalex, finished ahead of Portugal's Miguel Oliveira and Thomas Luthi, also riding Kalex machines, both of whom benefitted from a fall suffered by Alex Marquez -- the younger brother of Marc -- on the last lap.
Mir, 19, riding a Honda, saw off Britain's pole sitter John McPhee and fellow Spaniard Jorge Martin. It was a third career win for Mir.