Recalled defender Matthew Connolly bagged the only goal of an injury-ravaged match as Boro slipped to a first league defeat in nine.
In a frantic opening, recalled Boro midfielder Seb Hines was booked for a rash challenge on Craig Noone before City were forced into a tactical reshuffle when centre-half Ben Turner limped off to be replaced by 18-year-old debutant Ben Nugent.
The home side edged ahead just before the 20-minute mark when Connolly found space at the back post to head home his fourth goal of the season from Peter Whittingham's right-wing cross.
Bluebirds boss Malky Mackay was required to make a second change of the afternoon in the 26th minute when left-back Andy Taylor came off with a knock picked up early on to be replaced by Joe Ralls.
Middlesbrough captain Grant Leadbitter tested Cardiff goalkeeper David Marshall from long range before Boro were pressed into a substitution of their own on the half-hour mark when Richard Smallwood replaced injured Belgian midfielder Faris Haroun.
And Tony Mowbray's men were almost on level terms moments after the switch. Ralls fouled Emanuel Ledesma 18-yards from goal and the Argentinean midfielder picked himself up to strike a powerful, dipping drive which cannoned off the crossbar with Marshall beaten.
The visitors had another good opportunity to restore parity on the stroke of half-time. Lukas Jutkiewicz's blocked shot rebounded into the path of Scott McDonald but the Australian striker fired over from inside the Bluebirds' six-yard box.
Boro made the stronger start to the second half and McDonald was again in the thick of the action driving straight at Marshall before heading wide from 12 yards.
Cardiff hit back and almost doubled their advantage when Whittingham's low free-kick from the right travelled through a crowded penalty area and almost caught out Boro keeper Jason Steele.
The away side continued to dominate the second period without making their superiority count and Jutkiewicz blazed over when clean through as the Bluebirds hung on for victory.