From 22nd on the grid, Alonso produced a scintillating opening to move up to fourth by the time the race was red flagged on lap 9. He was unable to hold Mercedes' Lewis Hamilton, Force India's Sergio Perez or Ferrari's Sebastian Vettel at bay when the race resumed, but was able to fend off both Williams cars despite race-long pressure to seal seventh at the flag.
"All the bad luck we had in the weekend concentrated in good luck in the race, with the incidents we avoided," Alonso reflected.
"We found ourselves in a good position in fourth, but we could not hold Sebastian, Hamilton and Perez - they were too fast.
"But I think seventh was very good for the team. Top 10 in qualifying with Jenson [Button], top 10 today - on a circuit like this, that was unthinkable a couple of months ago.
"It's good news. Last year and even a few months ago we wouldn't have been able to fight with Williams at Spa. We are moving in the right direction, that's for sure."
Alonso's six-point haul helped carry McLaren above Toro Rosso and into sixth in the constructors' standings. It was the Spaniard's fourth score of the season, and lifts him to 11th in the drivers' championship - level on points with compatriot Carlos Sainz.