Vale made most of the early running, but that all changed after the visitors scored twice in nine minutes to take the game by the scruff of the neck.
Morris buried a sweetly struck left-foot volley from 12 yards low inside Chris Neal’s left-hand post after the Vale defence failed to clear David Ball’s right-wing cross in the 17th minute.
And centre-back Roberts prodded in Fleetwood’s second right-footed from a yard out after Ball had headed down Morris’ right-wing corner.
Tom Pope almost pulled one back when he headed inches too high on the stroke of half-time, but that was a rare moment of concern for the visiting defence.
Pope was further frustrated as his effort in the 83rd minute came back off the crossbar as the home side finally began to exert some serious pressure.
But the Fleetwood defence, in which Nathan Pond was outstanding, soon regained their composure before O’Connor’s 25-yard right-foot shot was deflected low inside Chris Maxwell’s left-hand post.