Sahara Force India's points-scoring spree continued following a fifth-place finish by Nico Hulkenberg even as his team-mate Sergio Perez suffered a heavy crash on the final lap of a thrilling Canadian Grand Prix.

Perez, who almost pulled off team's one stop strategy, was running fourth on Lap 70 when was hit from behind by a charging Felipe Massa in the Williams going into Turn One.

The accident meant the action-packed race finished behind the safety car.

The crash helped Perez's teammate Hulkenberg secure his second straight fifth place finish though he lost the fourth position to McLaren's Jenson Button towards the end.

The German is now sixth in the drivers'standings with 57 points from seven rounds and Force India remain an impressive fourth on 77 points, 11 ahead of McLaren.

"It has been a very busy race for me today, so to come away with ten points and a fifth place is a good result," said Hulkenberg.

"The safety car at the start didn't help me as it allowed those on supersoft tyres to stretch their stints.

Being on a different strategy from everyone else meant I always had someone pushing close behind me: it was fun, but also very challenging," said the 26-year-old, who was made his only pit stop as late as on Lap 41.

"Stopping only once I had a bigger challenge managing the tyres compared to the two-stoppers, but I think we got the right reward for it," he added.

Perez, who was heard complaining about his rear brakes towards the end, was held responsible for causing the collision and given a five-place grid penalty for the next race in Austria.

The Mexican held on to second spot for substantial part of the race before the Red Bulls of Sebastian Vettel and eventual race winner Daniel Ricciardo passed him on fresher tyres.

"On the final lap I was defending my position going into turn one when I suddenly got hit from behind. It was a big impact, but I am okay. I'm really sad for the team because we had an amazing race today and the one-stop strategy was working perfectly," said Perez, who scored his first podium for Force India in Bahrain.

"It was not easy in the final laps and I was pushing hard to try and get ahead of Nico (Rosberg) for the lead. Daniel Ricciardo managed to get ahead of me when I had an electrical issue with my car, but I managed to reset the system for the final couple of laps. The podium was possible today and I?m just very disappointed for the points we have lost," he lamented.