Rossi finished second, 2.196 seconds behind, with Spanish Yamaha team mate Maverick Vinales third at the Sachsenring circuit.
Marquez led from pole position, also his ninth in a row, but fell behind fast-starting compatriot Jorge Lorenzo at the start before retaking the lead from the Ducati rider with 18 laps remaining and pulling away.
Marquez's run of wins at the eastern German circuit started in 2010 when he was competing in the 125cc category (now Moto3). He then won in Moto2 in 2011 and 2012 and is on a sequence of six in MotoGP.
The Spaniard has 165 points after nine races to Rossi's 119.
(This story has not been edited by Devdiscourse staff and is auto-generated from a syndicated feed.)