It was the best finish by a Sauber rookie, with Nasr's team mate Marcus Ericsson and Red Bull's Carlos Sainz also earning their first points by finishing eighth and ninth respectively.
Local hero Daniel Ricciardo had a terrible start and his Red Bull lacked pace but he battled hard to finish sixth in front of home fans.
It was a dark day for Honda-powered McLaren, however, with Jenson Button finishing last of the 11 cars and lapped twice by Hamilton and the leaders.
Force India driver Sergio Perez had an eventful afternoon, being instructed to drop back two places after over-taking illegally when the safety car was out early.
He then overcame a collision with Button in a battle to avoid the indignity of last place.