The top-10 finish is a huge boost for the RB racing team's 22-year old.
Charles Leclerc won the race, from Ferrari team-mate Carlos Sainz.
Lando Norris was third across the line, but loses that place to Max Verstappen, after a five second penalty was imposed after he left the track and so gained an advantage in overtaking Verstappen.
Lawson, who gained a Formula 1 spot for RB at Daniel Ricciardo's expense, gains two competition points for his top-10 placing.
Lawson started at the back of the grid due to engine penalties incurred by his RB racing team, while George Russell started from the pit lane after his crash in qualifying on Sunday. Remarkably, Mercedes driver Russell worked his way through the field to finish sixth.
Lawson had a sensational start, moving from 19th to 14th by the end of the first lap.
He continued to advance through the field and by lap 19 was in eighth place.
He was seventh after 30 laps, but dropped a few places after a late pit stop and comfortably held ninth place over the closing laps.