Preston's 25-game unbeaten run came to an end against Premiership Middlesbrough who deservedly won with two second-half goals by Yakubu.
North End's David Nugent had two chances early on. First a 25-yard deflected shot which went narrowly wide of the left hand post and then, after 17 minutes, a 25-yard shot which the keeper saved low down between his legs.
Yakubu went down in the area under the challenge of Youl Mawene and claimed a penalty five minutes before the break but the referee correctly waved play on.
Just before half-time Fabio Rochemback went down after a challenge by Callum Davidson and had to be stretchered off and replaced by Lee Cattermole.
Steve McClaren substituted Anthony McMahon with Jimmy Floyd Hasselbaink at the start of the second half and this soon made the difference.
The Dutchman flicked on a header to set-up Yakubu, who ran through into the penalty area and hit a 15-yard shot into the top left hand corner to make it 1-0 to Boro after 52 minutes.
Mawene was booked for fouling Yakubu and then had a header saved by Mark Schwarzer from a 65th-minute Paul McKenna free-kick.
It was rare foray forward for the hosts and it was little surprise when Boro made it 2-0 13 minuets from time.
Stewart Downing floated over a free-kick and Yakubu headed home from six yards to secure Middlesbrough's place in the last eight.