His countryman and Honda teammate Dani Pedrosa was second, 3.495 back.
Yamaha rider Lorenzo, the reigning world champion, was third, 5.704sec behind the winner.
Marquez began his first MotoGP campaign last April with a third-place finish in the season-opener at Qatar.
At the Circuit of the Americans race in Austin, Texas, later that month, he became the youngest rider in series history to win a pole and a race.
He failed to reach the podium only once this year, after a crash at a race in Mugello in June.
With his win Sunday he completed a sweep of the season's three US races. He also won at Laguna Seca last month.
"I didn't make such a good start," said Marquez, who was notching his third straight win and fourth of the season. He also won in Germany.
"But I knew before the race that the most important part was toward the end of the race. I just tried to follow Dani and Jorge. Then I tried to attack. Now we go back to Europe, and we would like to continue."