Middlesbrough, playing for the second time under Steve Agnew following Aitor Karanka's dismissal as head coach last month, were unable to improve their return as the top flight's most shot-shy attack – even when faced with its leakiest defence.
The Swans carried the greater threat, with Boro keeper Victor Valdes working hardest for his clean sheet by keeping Jordan Ayew and Gylfi Sigurdsson at bay either side of half-time.
Not for the first time this season, Adama Traore's end product did not match his lively invention in attack for Middlesbrough, while Rudy Gestede nodded a last-gasp, gilt-edged chance wide for the visitors, who remain second bottom and five points shy of their opponents.
They will need to produce better against 18th-place Hull City in midweek – Marco Silva's side now lie a point shy of Swansea.
Martin Olsson was back in the Swansea side following an ankle injury and the Sweden left-back advanced into the opposition area in the seventh minute, displaying wonderful chest control and cutting inside to lift a shot over the far corner.
Middlesbrough's right was proving a fruitful area for Swansea, with Valdes forced to push Ayew's rasping shot behind after he charged towards the box from the flank.
The visitors' first opportunities came in the 13th minute when Swansea defenders Alfie Mawson and Kyle Naughton bravely blocked from Alvaro Negredo and Stewart Downing in quick succession, with Tom Carroll driving into the side-netting at the other end to spark momentary celebration from a section of the home supporters.
Boro were forced into a change before the break, with Gestede joining Negredo in a physically imposing attack after Gaston Ramirez was unable to shake off a knock to his ankle.
Traore was an entertaining, roving presence for Agnew's team during the opening period and he pulled a shot wide of the far post in the 52nd minute having opened up some space with a stepover.
Swansea gathered themselves after a scrappy start to the second half and Valdes unconvincingly palmed a low Luciano Narsingh cross away from the goalmouth before the hour.
Fabio da Silva was forced off with a head injury, having appeared to be briefly unconscious when he landed awkwardly following an aerial challenge with Leroy Fer, and Sigurdsson drew another stop from Valdes while Boro were temporarily reduced to 10 men.
Siguardsson was unable to add to his catalogue of superb set-piece goals when a free-kick spun wide off Forshaw's arm - penalty shouts were rejected – and an increasingly desperate Boro almost snatched the points in stoppage time.
Gestede was fortune to still be on the field after a pair of wild lunges and headed wastefully wide on the end of a sumptuous Negredo cross, summing up Boro's seasonal malaise.
KEY OPTA STATS
- Middlesbrough have drawn more Premier League games 0-0 this season than any other team in the competition (6).
- Swansea ended a run of 17 Premier League matches without a draw.
- Middlesbrough (9) have kept more clean sheets than any other Premier League team currently in the bottom six.
- Only West Brom (8) have registered one or fewer shots on target in more different PL games this season than Middlesbrough (6).
- Rudy Gestede has now gone 39 Premier League games without a win (last won v Bournemouth, August 2015); extending the competition record for the longest winless run by a player.