Norwich City returned to winning ways in the Sky Bet Championship by beating Millwall 2-1 at Carrow Road on Boxing Day.
Emiliano Marcondes opened the scoring for the Canaries after only four minutes, before Oscar Schwartau scored his first goal for the club five minutes before half-time.
Millwall pulled a goal back in the second half via Romaine Esse, but the Canaries held on for all three points.
Johannes Hoff Thorup made three changes to the side that were beaten at Sunderland before Christmas, with Kellen Fisher, Ben Chrisene and Schwartau coming into the starting line-up.
Norwich opened the scoring with their first real attack. Schwartau's ball across goal caused chaos in the Millwall area and Marcondes arrived on the scene to poke home from close range.
The lead was almost doubled moments later as Borja Sainz saw his effort saved by the legs of goalkeeper Lukas Jensen.
It took until beyond the half-hour mark for Millwall's first shot on goal to worry Angus Gunn but Joe Bryan's effort went safely over the crossbar.
Sainz did well to wriggle away from a couple of Millwall markers before pulling the trigger from long range, but the Spaniard's effort was too high.
Norwich did double their lead before half-time, as Schwartau's volley squeezed and squirmed beyond Jensen.
Sainz did put the ball in the back of the net for a third before the break, but he was flagged offside.
Schwartau almost added a third goal 10 minutes into the second half, meeting Chrisene's ball across goal but saw his effort hit the post and bounce clear.
Millwall found a route back into the game just after the hour mark, as Esse managed to beat Gunn and found the bottom corner.
Duncan Watmore saw an effort fired straight at Gunn, as the Lions went in search of an equaliser.
Onel Hernández came close to restoring Norwich's two-goal advantage, meeting a Jack Stacey cross but his header was well saved by Jensen.
The Canaries are back in action on Sunday, December 29, hosting Queens Park Rangers at Carrow Road in their final fixture of 2024.
Norwich City: Gunn; Fisher, Duffy, Doyle, Chrisene (Hernández 74); Núñez (Stacey 63), Slimane, Marcondes; Sainz, Schwartau, Crnac.
Unused subs: Long, Hanley, Hills, Gordon, Forson, Myles, Barnes.
Goals: Marcondes (4), Schwartau (39)
Bookings: Slimane (62), Schwartau (81)
Millwall: Jensen; Leonard, Tanganga, Wallace, Bryan; De Norre (Bradshaw 76), Saville (Wintle 76); Azeez (Honeyman 76), Esse, Emakhu (Watmore 13), Ivanovic (Langstaff 66).
Unused subs: Roberts, Hutchinson, Mayor, Harding.
Goals: Esse (65)
Bookings: Leonard (51)
HT: 2-0
FT: 2-1
Venue: Carrow Road
Referee: Tom Nield
Attendance: 26,060 (711 away)