The former Manchester United youth player struck after just 16 seconds after fine work from an impressive Joe Cole, with Modibo Maiga also scoring to beat the Portuguese outfit
The Portuguese side replied through a solo effort from Manuel Jose, but it was the hosts who took the most from the fixture as they continued their progress towards the start of the Premier League campaign - with Joe Cole continuing to impress.
West Ham started with a strong squad of first-team players, leaving new signings Razvan Rat and goalkeeper Adrian on the bench.
And they made the best possible start after just 16 seconds when Manchester United academy product Morrison latched onto a slide-rule pass from Cole to slot home.
Pacos were shell-shocked, but they found their way into the game after six minutes when Ruben Ribeiro shot onto the roof of the net from the edge of the area.
The Portuguese outfit began to look more considered and comfortable in possession, and they almost equalised from a corner after 22 minutes when the ball fell to Oliveira, who saw his shot blocked well by Winston Reid.
At the other end, Cole was beginning to pull the strings, linking up well with Matt Jarvis - who shot across the face of goal after 26 minutes before Maiga fired wide of the mark.
Five minutes before the break, West Ham made it two following a lapse in the in the Pacos defence, as Maiga raced down the left flank and snuck a shot in at the near post.
Rat, Mohamed Diame and James Collins were all introduced at the break, as the hosts followed up with a breathless start to the second half.
Diame intercepted on the half way line and tried an audacious chip that was pushed away for a corner, before, from the resulting flag-kick, Reid and Collins both had shots blocked.
Pacos then turned the game on its head with a goal against the run of play, as Jose gathered the ball on the left and fired a 30-yard strike past Jussi Jaaskelainen in the West Ham goal.
That threatened to make a real contest of the game, but the comeback from the visitors never really materialised.
Cole made way for Ricardo Vaz Te after 71 minutes to a standing ovation from the home crowd, but that was the most notable action of the closing stages as the game petered out and West Ham held on.