Report: Middlesbrough 0 Swans 0
The Swans became the first team this season to take points off Middlesbrough on their own patch as they claimed a creditable draw at the Riverside Stadium.
Both teams struck the crossbar - George Saville for Boro and sub Tom Carroll for the visitors - during a tight encounter.
But the Swans fought hard to claim their fourth league clean sheet of the season as they dealt with a succession of set-pieces.
The draw moves the Swans onto 13 points from nine Championship games.
Graham Potter made three changes to the side which started at Stoke in midweek.
Joe Rodon was recalled in defence ahead of Cameron Carter-Vickers, while Barrie McKay was in for Nathan Dyer on the flank.
Up front, meantime, Oli McBurnie returned as Daniel James dropped to the bench.
Both teams started brightly, with Erwin Mulder called into action in the fourth minute as he padded out Jonny Howson's long-range.
At the other end, Connor Roberts' cross found McBurnie, but his headed effort deflected off the shoulder of Ryan Shotton and into Darren Randolph's hands.
The Boro keeper had to be alert shortly after as Martin Olsson headed goalwards after Daniel Ayala deflected Wayne Routledge's cross, with Randolph just managing to keep it out.
Back came Boro, and George Saville clipped the top of the crossbar with an effort from distance while Britt Assombalonga's volley was beaten out by Mulder.
The final threat before the break came via Olsson, who dragged his shot wide after a neat one-two with Kyle Naughton outside the Boro box.
The game tightened up in the second half, with both sides failing to create many clear-cut chances.
Sub Carroll, introduced at the break for Byers, went close when he struck the crossbar with a deep cross on the hour mark.
That was the last real action of the game as Potter's side left with a share of the spoils.
Middlesbrough: Darren Randolph, Ryan Shotton, Daniel Ayala, Aden Flint, George Friend (capt), Adam Clayton, George Saville (Mo Besic, 59), Jonny Howson, Stewart Downing (Sam McQueen, 73), Martin Braithwaite, Britt Assombalonga (Jordan Hugill, 68).
Subs: Dimi Konstantopoulos, Danny Batth, Paddy McNair, Dael Fry.
Swans: Erwin Mulder, Connor Roberts, Mike van der Hoorn (capt), Joe Rodon, Martin Olsson, Kyle Naughton, Matt Grimes, Barrie McKay (Nathan Dyer, 78), George Byers (Tom Carroll, ht), Wayne Routledge (Daniel James, 61), Oli McBurnie.
Subs: Kristoffer Nordfeldt, Cameron Carter-Vickers, Jay Fulton, Yan Dhanda.