Falcao gave the hosts a first-half lead before scoring two goals in the last six minutes as the Porto forwards gave their Russian opponents a torrid time after a cagey start in their quarter-final first leg.
Silvestre Varela also found the net for Porto with Dmitri Kombarov scoring at both ends.
The Russians had a chance to go ahead in the first minute when Morais Welliton got beyond his marker on the right of the area but he put his shot into the side netting.
Varela then failed to take advantage of being unmarked in front of goal when he got on the end of Felipe Moutinho's free-kick from the left but slightly mistimed his jump to head wide.
The visitors came close to taking the lead in the 11th minute when Welliton pounced on Jorge Rolando's careless pass and burst ahead of the Porto defenders into the box.
However, the striker poked the ball at Helton with the goalkeeper managing to parry.
Porto fought their way into the game and went ahead in the 38th minute through Falcao. Alvaro Pereira sent in a first-time cross from the left which the late-arriving Colombian converted with a low, diving header at the far post which he sent across the keeper.
The hosts came within inches of doubling the lead with half an hour left when Hulk placed a free-kick which came off the underside of the bar, Francisco Fernando blazing the loose ball high and wide.
However, their dominance paid off in the 65th minute with Falcao this time the provider. He chested the ball down with his back to goal which Valera ran on to to send a ferocious first-time shot into the right-hand corner.
Six minutes later and Porto got a third with a chaotic own goal by Kombarov.
Maicon's glancing header from Moutinho's corner hit the defender on the line and and went under the keeper.
However, he made immediate amends.
Artem Dzjuba played a perfect ball to Kombarov who had run from deep to find himself alone on the right of the area, the full-back controlling the ball before driving it home.
Helton was then called on to push Meschini Alex's stinging shot out for a corner as Spartak pressurised.
Porto then went up the other end and Hulk fooled his marker to find himself in space but he lost his balance at the vital moment and sent his shot wide.
Falcao, though, restored the three-goal lead when he got between two defenders to volley home Rodriguez's left-wing cross and he completed his hat-trick in injury time when he glanced home Fernando Belluschi's free-kick.
FC Porto 5-1 Spartak Moscow: Match Report - view commentary, squad, and statictics of the game as it happened.