Wales had been boosted by successive wins against Denmark and Belarus - but Chapuisat left their hopes of directly qualifying for Euro 2000 in tatters. The Borussia Dortmund striker scored in each half to lift the Swiss above the Welsh into second place in Group One behind Italy.
Wales did not have luck on their side, losing their goalkeeper Paul Jones after 26 minutes, hitting the post and having a "goal" disallowed.
Jones was injured in the pre-match warm-up with the goalkeeping coach, Neville Southall, but the Czech referee Miroslav Liba refused to allow a last-minute change to the Welsh team.
"Paul went up for the ball during the warm up and landed badly," Bobby Gould, the Wales manager, said. "His leg went into some sort of muscle spasm. I had already handed in my team sheet 30 minutes before the start, which is the rule, but I went to the referee to ask him if I could make a change, but he was adamant and said no.
"I believe changing a goalkeeper like that has been allowed in English football recently, but the referee wouldn't budge.
"I asked Paul then if he was okay to start the match and he said he would be, but there was really no choice."
After conceding of goal inside the first four minutes, Gould's side always found themselves chasing the game. It cannot have helped their concentration when it was revealed before the game that Nathan Blake has been charged with threatening and abusive behaviour. The striker was arrested after an incident in Newport in the early hours of last Friday and is due to appear before the Gwent town's magistrates today.
Wales started with their captain Gary Speed, on his 50th appearance for his country, playing as a sweeper, but that plan was abandoned immediately after Chapuisat scored his opening goal.
It came when Sebastian Fournier's free-kick from the right was headed down by Stefan Wolf. Kit Symons sliced his clearance and, while his defensive colleagues froze, Chapuisat fired in from close range.
Wales were stunned for a while but managed to fight back and they almost equalised after 25 minutes, when Andy Johnson's header hit the foot of a post from a John Robinson cross. A minute later, however, Jones was helped from the field and Nottingham Forest's Mark Crossley came on to win his second cap.
Wales pulled themselves together but had a goal disallowed. Blake headed the ball back across the goal for Chris Coleman to stab home only for Blake to be penalised for pushing down on a defender.
Wales dominated long spells in the second period and when John Hartson came on to lend his strength to the fight for an equaliser Speed almost scored with a header at the far post that Martin Brunner scrambled away. Mark Hughes, playing his 70th international, then saw an overhead kick blocked by the Swiss keeper on the line and it looked like Wales were on the brink of a breakthrough.
After 70 minutes, though, they were caught on the break. Patrick Muller got away on the right and drilled over a cross that Chapuisat put past the helpless Crossley for the second Swiss goal.
SWITZERLAND: Brunner (Lausanne); Jeanneret (Servette), Fournier (Servette), Henchoz (Blackburn Rovers), Wolf (Servette), Vogel (Grasshopper Zurich), Muller (Grasshopper Zurich), Wicky (Verder Breman), Chapuisat (Borussia Dortmund), Sforza (Kaiserslautern), Comisetti (Grasshopper Zurich). Substitute: Buhlmann (Servette) for Comisetti, 68.
WALES: Jones (Southampton); Robinson (Charlton Athletic), Pembridge (Benfica), Savage (Leicester), Symons (Fulham), Coleman (Fulham), Johnson (Nottingham Forest), Saunders (Benfica), Blake (Blackburn Rovers), Hughes (Southampton), Speed (Newcastle United). Substitutes: Crossley (Nottingham Forest) for Jones, 26; Hartson (Wimbledon) for Blake, 64; Bellamy (Norwich) for Hughes, 74.
Referee: M Liba (Czech Republic).