Substitute Fraizer Campbell scored Cardiff City's winner for the second successive round as Bolton Wanderers were beaten 1-0 in the FA Cup.
Campbell, who came off the bench to provide the decisive strike in a 2-1 win at Newcastle United in the last round, repeated the trick at the Reebok Stadium, scoring the only goal of the game to send his side through to the fifth round for the first time in four years.
The former Sunderland man tucked the ball home from a tight angle in the 50th minute after Andy Lonergan failed to deal with a cross from Craig Noone, another substitute.
Bolton were unable to find a leveller as they attempted to put last week's embarrassing 7-1 defeat at Reading behind them.
Dougie Freedman made three changes from that game as Chris Eagles, Mohamed Kamara and Craig Davies all returned.
Cardiff, meanwhile, brought in six fresh faces. Magnus Wolff Eikrem made his maiden start for the club while Andreas Cornelius and Joe Mason, who spent eight games on loan at Bolton earlier in the campaign, featured from the off for the first time this season.
Neither goalkeeper was stretched in an uneventful opening half, Lonergan comfortably tipping Cornelius' deflected shot over the crossbar in the seventh minute.
In first-half stoppage time, Bolton's Lee Chung-Yong sent a left-footed volley a yard wide after a loose ball had dropped to him inside the area.
Ole Gunnar Solskjaer made a double substitution at the break, Campbell and Noone replacing Cornelius and Eikrem, and it paid almost immediate dividends as Cardiff took the lead.
Alex Baptiste got his head to Noone's cross from the right and the ball was spilled by Lonergan to the feet of Campbell, who swivelled and swept home into an empty net from close to the byline.
Campbell wasted a chance to double his side's advantage within six minutes, heading over from four yards after Lonergan once again struggled to deal with a ball into the box.
The hosts responded well, Neil Danns bringing a smart stop out of David Marshall two minutes later with a stinging left-footed drive.
Marshall then had to scramble to his right as Davies' cross was deflected towards goal in the 62nd minute.
Five minutes later Marshall was called into action again, flying to his right as Ben Turner deflected Baptiste's cross with his outstretched leg.
Lonergan saved from Kim Bo-Kyung in the final minute but it mattered little as Cardiff held on for their second win under Solskjaer, both of which have come in the FA Cup.
Freedman's side have just one win from their last six matches in all competitions.
|Coach: D. Freedman|
for C. Eagles 72'
for M. Kamara 72'
|Robben speaks out on injury fears|
|Fiorentina 0 AC Milan 0: Ilicic misses penalty on Montella´s return|
|Gisdol replaces Labbadia at Hamburg|
|Ibrahimovic threatened me over Pogba deal - Raiola|
|Balotelli could make Nice return against Krasnodar|
|Southampton deserved to win – Bilic|
|Podolski takes aim at Mourinho over Schweinsteiger treatment|
|Atletico midfielder Augusto suffers ACL injury|
|Sagna: More to Aguero than goals|
|Errors are urgent matter for Schalke - Weinzierl|
|Puel delighted with sublime Southampton second half|
|Simeone praises ´decisive´ Gameiro|
|Noble: West Ham can´t get any worse|
|Pjanic: I will play wherever Allegri needs me|
|West Ham 0 Southampton 3: Defensive woes pile pressure on Bilic|
|Kondogbia makes the same mistakes often – De Boer|
|Gray backed by Dyche after ban for abusive social media posts|
|Gabriel needs time to get used to Serie A - Ausilio|
|Atletico Madrid´s Gimenez and Augusto doubts for Bayern Munich clash|
|Atletico Madrid 1 Deportivo La Coruna 0: Griezmann downs 10-man Depor|
|Angry Spalletti slams Roma players´ attitude|
|Liverpool have unbelievable quality - Milner|
|Simeone´s son Giovanni scores first Serie A goal|
|Ivanovic: Chelsea let Conte down|
|Inter 1 Bologna 1: Battling Bologna end Inter streak|
|Guardiola: Top-four finish very tough for Man City|
|Rodgers expecting tough test against City and Aguero|
|Zamparini admits Balotelli interested Palermo|
|Former Swansea, Arsenal great Mel Charles dies|
|Asamoah, Rugani ruled out for up to seven weeks|
|Totti reaches 250 Serie A goals in Roma defeat|
|Alves makes LaLiga history as Valencia see off Leganes|
|Guardiola rues De Bruyne injury as Man City await scan|
|Las Palmas draw could prove costly, admits Morata|
|Gabriel explains choosing Inter over Juventus|
|Hamburg dismiss Labbadia|
|West Ham players expect Payet´s free-kick magic - Antonio|
|Man City must tell Guardiola to stop, says Toure´s agent|
|Hamsik thrilled to reach 100 Napoli goals|
|Zabaleta warns Man City over Celtic backlash|
|MLS Review: Red Bulls, Toronto into play-offs|
|´We were unlucky´ - Bale|
|Guardiola keen for Spurs test|
|Rodgers: I never fell out with Sterling|
|Wenger hails ´different´ Walcott|
|Mazzarri backs Deeney for England call-up|
|Mamelodi Sundowns and Zamalek reach CAF Champions League final|
|Benzema and Morata can play together - Zidane|
|Hummels plays down injury fears|
|Las Palmas 2 Real Madrid 2: Zidane´s men held again|
|Stones benefited from Moyes´ Everton exit, says Duffy|
|Allegri unconcerned by scrappy win|
|Montella demands Milan improvement|
|Ancelotti praises Thiago after Hamburg victory|
|Conte demands better attitude from Chelsea|
|Wenger hails stylish Arsenal display|
|Moreno the unlikely subject of Klopp´s praise|
|Walcott: We wanted it more than Chelsea|
|Phelan has ´no qualms´ over another handball red card|
|Arsenal 3 Chelsea 0: Sanchez, Walcott and Ozil pile on misery for Conte|
|That was how football should be - Klopp on Hull thrashing|
|Luis Enrique plans to keep Sergi Roberto on his toes|
|Karanka draws hope from Middlesbrough´s second half|
|Stoke is stitched into my body – Pulis|
|Palermo 0 Juventus 1: Own goal helps champions stay top|
|Hughes laments two ´stolen´ points|
|Wilshere can be a brilliant player for Bournemouth, says Howe|
|Defoe rues Sunderland collapse against Palace|
|Tottenham must be more clinical - Pochettino|
|Everton were second best, says Koeman|
|Benteke: I knew a chance was coming|
|Ranieri wants answers from Leicester players after Old Trafford thrashing|
|Board can call me if they want to talk - Guidolin|
|Sterling hails Guardiola´s impact|
|Sergi Roberto revelling in new role|
|Guardiola wants Aguero improvement despite scoring streak|
|Mourinho demands more from star man Pogba|
|Sporting Gijon 0 Barcelona 5: No Messi, no problem for ruthless champions|
|Stoke City 1 West Brom 1: Rondon snatches point as Pulis reaches 1000 games|
|Sunderland 2 Crystal Palace 3: Benteke´s late header stuns Black Cats|
|Swansea City 1 Manchester City 3: Aguero at the double for Guardiola´s perfect 10|
|Bournemouth 1 Everton 0: Stanislas wonder strike ends Koeman´s unbeaten start|
|Liverpool 5 Hull City 1: Coutinho stunner caps easy win|
|Middlesbrough 1 Tottenham 2: Son shines for Spurs|
|Hamburg 0 Bayern Munich 1: Late Kimmich goal maintains Bayern´s perfect start|
|Bayern facing defensive headache after Hummels limps off at Hamburg|
|Pogba and Mata delighted by United response|
|Vardy and Mahrez were rested for Porto, Ranieri admits|
|Mourinho completely trusts dropped Rooney|
|I beat Usain Bolt in a race - Bolasie|
|Juventus still Scudetto favourites - De Boer|
|Manchester United 4 Leicester City 1: Rooney watches on as Pogba inspires Red Devils demolition|
|Robben and Ribery are like Messi, claims Helmer|
|Pochettino hints at Vertonghen renewal|
|Robben´s style makes him an injury risk - Bayern fitness coach|
|Liverpool refuse to comment on Sakho´s social media outburst|
|Rooney dropped for Leicester City clash|
|Messi injury doesn´t matter to Barcelona - Abelardo|
|Thiago Silva worried by PSG form|
|Mourinho describes Wenger relationship as ´civilised´|
|Milito: Inter are no one-man team|
|Bilic delays naming daughter due to West Ham worries|
|Fernandinho hails ´intelligent´ De Bruyne|
|Matuidi: This season toughest for PSG|
|New York City 4 Chicago Fire 1: Villa nets twice in win|
|Pjaca not Morata - Allegri|
|Guardiola keen for Kolarov extension|
|England criticism changed Rooney - Mourinho|
|Gotze detractors don´t surprise Tuchel|
|Wenger laments missing out on Costa|
|Emery deflects blame from PSG players after Toulouse defeat|
|Guidolin: It´s not possible to beat Manchester City if you don´t play well|
|Mourinho prepared to bench Rooney|
|Fitness fears over Aubameyang with Real Madrid looming|