Tyre troubles weakening Toseland's grip
The Yamaha Motor Italia rider won the first race by a clear 11 seconds, in a time of 40 minutes 02.923 secs, well clear of Max Biaggi on his Alstare Corona Extra Suzuki.
Haga's team-mate Troy Corser was third. Toseland, who was brought up in Kiveton, went into the weekend with a 66pt lead over Haga.
Advertisement
Hide AdAdvertisement
Hide AdBut he had tyre problems with his HANNspree Ten Kate Honda and fell way back to finish ninth.
World champion Troy Bayliss could only manage fourth place in race one at the EuroSpeedway, but dug deep to win race two ahead of Haga.
The Australian, of the Ducati Xerox team, kept alive slender hopes of retaining his title by finishing in 39:49.291, but was pushed all the way by the Japanese rider. Biaggi finished third.
Toseland had a much better second race and came fourth, but his overall lead was slashed to 41 points with two rounds, four races and a potential 100 points to race for.
Advertisement
Hide AdAdvertisement
Hide AdHaga started the first race from eighth on the grid, but claimed a brilliant win after stealing his way past Bayliss on lap 16, easing to his 24th career win and fourth victory of the season.
"Today I didn't make crazy riding," said Haga. "I made a good start but Bayliss had gone by about three seconds.
"I tried to catch him, it was difficult at the beginning but I pushed more every lap. I believe in my hard front tyre and by mid-laps Bayliss slowed down and I caught him.
"My team worked hard and I am comfortable riding - thank you team."
Advertisement
Hide AdAdvertisement
Hide AdToseland held his own quite strongly for a big part of the race, before he suffered from chronic tyre degradation and faded away.
His championship lead was eroded by Haga and second-place Biaggi, who is 12pts behind the man from Japan.
Bayliss's sixth victory of the year kept him fourth in the championship, but he edged closer to Toseland. His deficit is now down from 97 points to 79.