Repsol Honda rider Marquez, 24, has now won all five races at the circuit in Austin, Texas.
Vinales - who had won the first two races of the season on his Yamaha - crashed on the second lap.
His veteran team-mate Valentino Rossi now leads the standings after finishing second, with Dani Pedrosa third.
British rider Cal Crutchlow was fourth.
Rossi, 38, has won nine world championships but none since 2009. He has a six-point lead over Vinales, with Marquez in third.
Rossi was given a 0.3 second time penalty for clashing with Johann Zarco but still comfortably bought his Yamaha home in second place.
1. Marc Marquez (Spain) Honda 43:58.770
2. Valentino Rossi (Italy) Yamaha +3.069
3. Dani Pedrosa (Spain) Honda +5.112
4. Cal Crutchlow (Britain) Honda +7.638
5. Johann Zarco (France) Yamaha +7.957
6. Andrea Dovizioso (Italy) Ducati +14.058
7. Andrea Iannone (Italy) Suzuki +15.491
8. Danilo Petrucci (Italy) Ducati +16.772
9. Jorge Lorenzo (Spain) Ducati +17.979
10. Jack Miller (Australia) Honda +18.494
1. Valentino Rossi (Yamaha) 56 points
2. Maverick Vinales (Yamaha) 50
3. Marc Marquez (Honda) 38
4. Andrea Dovizioso (Ducati) 30
5. Cal Crutchlow (Honda) 29
Defending MotoGP champion Marc Marquez continued his 100% record at the Grand Prix of the Americas as Maverick Vinales crashed out.