Wales, who had won all nine of their previous Tests against Scotland since a 21-9 defeat in 2007, were 13-9 up at the break in Edinburgh after wing Liam Williams scored the only try of the first half.
After the interval, the deficit was transformed into a 29-13, earning Scotland quite a victory.
"We're on a roll," acknowledged coach Vern Cotter, whose team achieved Scotland's first opening-round victory in 11 years with a 27-22 home success against Ireland, before suffering a 22-16 loss to France in Paris.
"We know how hard Twickenham is," he said. "It may be the record game for England. There'll be a lot of things to play for, I think."
But Scotland stayed in touch through Finn Russell's boot and then surged in front.
Seymour and Visser both crossed for tries in a second half where Wales were kept scoreless, with Russell kicking 19 points in total.
Victory kept Scotland, who now have two wins from three matches this Six Nations, in with a chance of the title but dashes Welsh hopes following their 21-16 loss to England last time out.
Should England beat Italy at home on Sunday, they would go into the Calcutta Cup contest with a chance of equalling New Zealand's world record of 18 consecutive wins.
"We believe we can beat England if we play like we did in the second-half," said flanker John Barclay, stand-in captain in place of the injured Greig Laidlaw.
"It's been a while since we've been here talking about a win over Wales, so hats off to the players," said Cotter, whose side finish the Championship with a home game against Italy on March 18.
"We weren't particularly well-positioned at half-time but the players adjusted well in the second half.
"The boys did really well. They realised they were watching Wales play rather than playing themselves."
Victory over England would also leave Scotland with a shot at a first Six Nations title since 1999 heading into the final weekend of the tournament.