The Hornets went into the game looking for a fifth straight home win, but they struggled to get their passing game going and were undone in the 77th minute when Lee Hendrie's free-kick picked out Porter at the back post.
Chances had been very much at a premium in a first half that was largely forgettable and only enlivened by a pedantic display by referee Keith Stroud, who dished out four yellow cards including three in a five-minute period.
By the end of the game the card count had risen to seven.
Derby keeper Stephen Bywater almost gifted the home side a 14th minute lead when his scuffed clearance broke for Danny Graham 40 yards out, but his first-time attempt drifted narrowly wide.
But it took another 21 minutes for either shot-stopper to be forced into a save and it was England Under-21 international Scott Loach who had to be alert at his near post to keep out an angled effort from DJ Campbell.
But Bywater bettered that stop in first-half injury time after reacting smartly to divert Heidar Helguson's shot from a corner narrowly wide of his right-hand post.
Although the game improved after the break, with both teams playing at a greater tempo and with more urgency, scoring opportunities remained scarce.
However, on-loan Manchester United star Tom Cleverley almost made the breakthrough in fine style in the 71st minute.
The Manchester United youngster managed to hold off two opponents as he made his way from left to right across the face of the area and then change direction before striking a right-footed curler which Bywater did well to push around his near post.
But it was the Rams who made the breakthrough five minutes later.
After being clearly tripped by Adrian Mariappa, Porter made his way to the back post where he rose above Lloyd Doyley to head home Hendrie's free-kick.
But the home side should have been back on terms soon after when John Eustace found himself in a great position in the area but he lifted the ball just over the angle of post and bar.