The Toomebridge rider lies ninth in the overall standings on 28 points, having scored points in every round to date.
Laverty, 29, charged into ninth place on the opening lap on his Aspar Ducati, then made it up to eighth, before being overtaken by Spaniard Pol Espargaro.
Valentino Rossi was a start-to-finish winner, with Jorge Lorenzo in second.
Pole position man Rossi enjoyed a two-second advantage over his Yamaha team-mate at the chequered flag, with Honda pair Marc Marquez and Dani Pedrosa taking third and fourth places respectively.
Marquez leads the championship by 17 points from Lorenzo, with Italian Rossi a further 17 points behind in third.
Laverty lapped consistently throughout, with Espargaro coming past with 16 laps to go, but failing to significantly increase the gap between the two.
Laverty ended only 1.5 seconds behind the Spaniard and although Hector Barbera tried a last-lap attack on the former World Superbike rider, he couldn't make it stick.
Laverty was 12th in the previous round, the Grand Prix of the Americas in Austin, having clinched his best-ever result of fourth in Argentina a week earlier.
He also occupied 12th spot in the season opener in Qatar.

Media playback is not supported on this device
Craig Benson finished second, with Commonwealth champion and pre-race favourite Ross Murdoch third in Glasgow.
London 2012 silver medallist Michael Jamieson was fifth in what could be the final race of his career.
"This means so much. It's such a great field," Willis, 25, told BBC Sport.
He is the fifth swimmer to manage a Rio 2016 qualification time, following Adam Peaty, Hannah Miley, James Guy and Max Litchfield.
Willis, who won in two minutes 8.08 seconds - inside the qualifying time of 2:08.52 - reached the London 2012 final and finished third behind Murdoch and Jamieson at the 2014 Commonwealth Games.
"I did expect Ross to go quicker, but the strength in depth is only going to help us GB breaststrokers progress," Willis said.
Murdoch remains unsure over an Olympic place, having finished second to Peaty in the 100m on Tuesday.
Siobhan-Marie O'Connor warmed up for her favoured 200m individual medley event on Saturday with victory over Fran Halsall in the 100m freestyle in 54.18 secs.
Two-time Olympian Lizzie Simmonds won 200m backstroke gold but her time of 2:09.24 was almost a second outside the qualifying time of 2:08.21.
"I know if I get that place that I can go quicker, as I've done it in the past," she said.
"I was fourth at the last Olympics, so perhaps it'll be a case of third time lucky."
Freestyle specialist Guy followed up his 400m gold and Olympic place from Tuesday with victory in the 100m butterfly.
He won in 52.15 secs, which, although outside the qualifying time of 51.24, he hopes will earn him a spot in the men's 4x100m medley relay team for Rio.
"Last year we were fourth [at the World Championships] and we hope that with the right mix we can potentially win a medal in Rio," Guy told BBC Radio 5 live.
If swimmers do not achieve the qualifying times or win selection for the relay events, they must rely on discretionary picks by the GB selectors.
The team for Rio will be named on 21 April.
Eugene Laverty secured another seven points in the MotoGP championship by finishing ninth in the fourth round of this year's series at Jerez in Spain.
[NEXT_CONCEPT]
Andrew Willis produced a stunning display to win a surprise 200m breaststroke gold at the British trials and secure a place at the Rio Olympics.