The 23-year-old opened his account for the season in the dying moments of the first half and then secured a vital three points with another cool finish 12 minutes from time.
The Bantams, who have now lost three games in a row, were left to rue a hatful of missed chances and now face a real fight to stop the rot.
Rams' teenage star Tom Huddlestone showed his quality early on and after just four minutes Bradford keeper Mark Paston had to be at his best to keep out the 16-year-old's volley.
Morris got his first sight of the City goal soon after but Paston did well again to come out on top.
As Bradford found their feet they suddenly clicked into gear but a host of gilt-edged chances went begging.
A long ball out of defence gave striker Andy Gray a clear run in on goal but he wastefully drove his shot wide of the mark from ten yards.
Two minutes later Paul Evans found Dean Windass with a free-kick and after his header was half-cleared City skipper David Wetherall blazed his shot over the bar.
WIth five minutes of the half remaining Derby keeper Andy Oakes brilliantly saved a snapshot from Michael Branch and deep into injury time Morris snatched the opener.
Huddlestone picked him out in the City box but Morris had plenty to do and although three Bradford defenders had him in their sights he wriggled free to fire home from ten yards.
Despite the setback the chances kept coming City's way and Oakes produced another superb save to keep out a Windass header just after the break.
The Bantams finally got their reward after 58 minutes when Gray got on the end of a Nicky Summerbee cross and headed the ball past the stranded Oakes from eight yards.
Weatherall missed out on the chance to put City in front when he headed wide and Morris made him pay dearly.
The former England youth international raced onto a Mathias Svensson header and kept his head to slide a low shot beyond Paston and in off the far post.
Bradford: Paston, Edds, Heckingbottom, Wetherall, Gavin, Summerbee, Evans, Gray, Muirhead, Branch, Windass. Subs: Beresford, Cornwall, Francis, Emanuel, Wolleaston.
Derby: Oakes, Jackson, Johnson, Caldwell, Zavagno, Candido Costa, Huddlestone, Taylor, Holmes, Svensson, Morris. Subs: Grant, Valakari, Boertien, Mills, Tudgay.
Referee: P Dowd (Staffordshire).