David Bentley scored for the third time in four games as Blackburn got over their UEFA Cup exit with a win over Birmingham at Ewood Park.
Bentley put Rovers in front in the 15th minute when he fired home a tidy left-footed effort after spinning away from his marker at the edge of the box.
The England midfielder was denied a second within 20 seconds of the restart when Franck Queudrue cleared his shot off the line before the game turned in the space of a minute.
City's Gary McSheffrey had a goal ruled out for offside and Rovers went up straight up the other end and won a 56th-minute penalty after Roque Santa Cruz had his legs taken away by Johan Djourou.
Benni McCarthy, on as a half-time substitute for Dunn, stroked home from the spot before Cameron Jerome scored a consolation for City with a 12-yard volley in the 68th minute.