After a goalless first half, dominated by Celtic, Frank Sauzee was booked for a second time, for a foul 10 minutes into the second half, and sent off. From the free-kick Henrik Larsson headed goalwards and the ball spun in off Viduka.
Hibs, previously without a home win this season, looked doomed and 11 minutes later a Viduka shot sank them. But their misery wasn't over - a second booking saw Paul Lovering sent off with 10 minutes left.
Stephane Adam scored twice as Hearts won 2-0 at third-placed Dundee United to close the gap on them to a point.
South of the border, Paul Furlong converted the two penalties which saw Birmingham City beat Queens Park Rangers 2-0 at St. Andrews to go top of the Nationwide First Division, possibly only until the end of today's clash between Manchester City and Ipswich Town at Maine Road.
Rangers' defensive arrangements held firm until a minute before half time when Bryan Hughes, who'd had a goal disallowed for offside, was felled by Gavin Peacock and Paul Furlong converted the penalty. The second spot- kick, after 64 minutes, killed off any chances of a Rangers revival.
Last season Huddersfield Town had something of a nightmare when they were thrashed 7-1 at Barnsley. The Tykes prevailed again, 4-2, Darren Barnard scoring twice, and the win lifted them above their Yorkshire neighbours to fourth.
Fulham moved up to third when they beat Crewe 3-0 at Craven Cottage, getting the job done in little more than half-an-hour. Geoff Horsfield opened the scoring after nine minutes, Barry Hayles doubled the lead seven minutes later and when Kit Symons made it 3-0 with just 36 minutes on the clock, a rout looked likely. But Fulham eased off and cruised to victory.
There can rarely have been a more comfortable debut than that enjoyed by Per Frandsen in Blackburn Rovers' 2-0 win over an unambitious Walsall at Ewood Park. Ashley Ward gave Rovers the lead when he headed in after good work by Kevin Gallacher and Jason Wilcox. Lee Carsley got the second just before half-time when Ward's flick sent him through on James Walker, the Walsall keeper.
Wolves, who have not won in the league since beating Manchester City on the opening day of the season, lost again, 3-0 at Sheffield United, Martin Smith scoring twice.
Tranmere Rovers carried some of the form that saw them complete a two- leg Worthington Cup win over Coventry into the league as they brought to an end a five match losing run in the league by drawing 2-2 with Charlton Athletic at Prenton Park. The point wasn't enough to lift them off the bottom.
Portsmouth were beaten 2-1 at home by Grimsby Town, who were reduced to 10-men when they were leading 1-0, goalkeeper Danny Coyne being dismissed for a professional foul. Alan McLoughlin converted the penalty but the Mariners' Stacy Coldicott grabbed the winner just past the hour.