Wilfried Bony missed a last-minute penalty as Aston Villa ended a run of three games without a win with a 1-0 Boxing Day victory over Swansea at the Liberty Stadium.
Conor Hourihane's second-half header from Alan Hutton's cross was the only goal of the game as Villa took all three points to push them further towards the Championship's play-off places.
Swansea were the better side for long periods, but they huffed and puffed and lacked an end product.
Swansea winger Daniel James went down in the box under a John McGinn challenge inside the first 10 minutes, but referee Roger East waved away home penalty appeals.
Bersant Celina then fired wide and Mike van der Hoorn's header was saved by Orjan Nyland as the hosts made a bright start.
Villa hadn't got started, but they then responded with the game's best chance. Against his former side, Tammy Abraham headed Anwar El Ghazi's cross down to McGinn and he fired on target, but the ball hit Swansea goalkeeper Erwin Mulder and stayed out.
Celina fired wide for a second time before Van der Hoorn led a Swansea breakaway. The centre-half intercepted an Abraham pass, ran clear, and then unleashed the flying Daniel James.
His cross found Oli McBurnie, but it was delivered a fraction late and the striker was crowded out by Villa's desperate covering defence.
Abraham, Yannick Bolasie and McGinn all headed wide at the other end as the two teams went to the break level with Villa finally having built up a head of steam.
Swansea captain Leroy Fer tested Nyland at the start of the second half and Bolasie's deflected effort saw Mulder forced to flap the ball clear.
Mulder was soon back in action to beat away two Hourihane free-kicks in quick succession as the game opened up.
Swansea swapped James for another wideman in Jefferson Montero in search of a response and it almost immediately coincided with them falling behind.
Villa full-back Hutton found space down the left and he stood up a cross which Hourihane headed home. Mulder got a hand to it, but the effort had too much power as it went in off the bar.
Swansea introduced Bony and Nathan Dyer as they looked for an equaliser.
Bony did work Nyland from range and McGinn fired in another shot, while Van der Hoorn's header from a corner rebounded off a post.
Roberts appealed for handball against El Ghazi, but Swansea were then given the perfect opportunity to rescue a draw. Competing for a high ball, Dyer was needlessly bundled over by El Ghazi and East rightly pointed to the spot.
Bony stepped up, but Nyland was more than equal to the task as he sent Swansea to a second straight defeat.
Graham Potter: "Wilfried isn't the first player to miss a penalty and he won't be the last. Oli has always been the penalty taker because he has normally been the striker who has been on the pitch, but you'd expect someone of Wilf's experience and character to take that responsibility.
"We might have lacked a little bit in the final third, but there are positives to take from this."
Dean Smith: "Orjan [Nyland] has been doing very well of late. Credit to him and the goalkeeping department because they do a lot of work on penalties and they'd predicted Bony would go that way. He's ended up making a good save which has won us the game. We showed another side to our game here with grit, defensive resilience, and I thought our shape was good too.
"For the first 25 minutes Swansea were much the better side, but we changed the shape and we have now lost just one of the last eight from what has been a difficult run. It's very pleasing, but I'm not looking too much at the rest of the table or other results."