Harlequins' 14-match unbeaten run came to an abrupt end as Toulouse delivered a brutal Heineken Cup lesson to the Premiership leaders at The Stoop.
A try from wing Timoci Matanavou and two Luke McAlister penalties put the four-time champions 11-3 up at half-time.
Full-back Mike Brown's converted try on the resumption brought the hosts to within a point.
But McAlister added another penalty before Matanavou scored his second try.
It was a sobering experience for a young Quins side, who saw prop Joe Marler - a possible candidate for Stuart Lancaster's new England elite squad next month - carried off on a stretcher in the second half.
Victory puts the French giants in firm command of Pool Six with Quins now needing to win the return fixture in Toulouse next Sunday to maintain any lingering hopes of topping the group.
The visitors dominated possession in the opening minutes, Quins conceding a penalty at the breakdown that McAlister dispatched from 40 metres.
But Nick Evans swiftly levelled after Toulouse had fallen offside in midfield, and might have had another opportunity when England number eight Nick Easter burst off the base of a scrum and chipped ahead, collecting his own kick.
Toulouse conceded a penalty at a ruck 30 metres out but Danny Care opted to take a quick tap, a decision that was made to look questionable as Quins proceeded to concede a penalty themselves right in front of the visitors' posts.
Toulouse made their power tell in the 17th minute. Louis Picamoles, who had already barged straight through Sam Smith moments earlier, drove forcefully again after Toulouse had attacked down the blind-side from a scrum.
The number eight then showed his subtler side, slowing his run to fix his opponent before releasing captain Thierry Dusautoir, who sent Matanavou over in the left corner.
They might have scored again before the half-hour when McAlister seized on turnover ball from a Harlequins scrum and raced into space, but Yannick Jauzion contrived to butcher the chance as his centre partner Florian Fritz was held up short of the line.
Quins, who had won all 14 matches so far this season, were under the cosh but managed to avoid further damage before the interval.
The hosts brought on Ugo Monye for the second half and the England wing gave them an immediate boost with a kick-and-chase into Toulouse territory.
They were further invigorated when centre Matt Hopper dummied two opponents on his own 22 and raced into the visitors' half before a stupendous pass out of the back of his hand kept the move going.
Brown's chip ahead had the Toulouse defence back-pedalling before a Quins knock-on, but the momentum was suddenly with the hosts.
Care again opted to take a quick tap penalty, and this time his ambition was rewarded as prop Marler's take-and-give, followed by a subtle block on Fritz, sent Brown over for the try.
Evans' conversion made it 10-11, but the visitors brought on France hooker William Servat and their scrum dominance earned a relieving penalty that McAlister landed to make it a four-point cushion.
The lightning-quick Matanavou had Quins in trouble again with a chip-and-chase that forced Brown to concede a five-metre scrum.
The hosts survived on that occasion but Toulouse struck again with 15 minutes left, after a devastating move from a scrum on the right touchline.
McAlister fed wing Vincent Clerc, who cut inside Hopper before a long pass sent Fijian flyer Matanavou over for his second in the corner, McAlister's conversion effectively sealing the outcome.
Harlequins director of rugby Conor O'Shea: "The right side won. They were incredibly physical. We didn't win the gain-line battle and made a few mistakes.
"We clawed our way back into it but that try (Matanavou's second late on) was a sucker punch. They really attacked the breakdown with an unbelievable ferocity.
"The lads are battered and bruised and disappointed but they are not down. They will be battered for a day or two but then will be ready for the next job."
Harlequins: Brown, Stegmann, Hopper, Urdapilleta, Smith, Evans, Care; Marler, Brooker, Johnston, Vallejos, Robson, Fa'asavalu, Robshaw (capt), Easter.
Replacements: Monye (for Smith, 41), Gray (for Brooker, 50), Lambert (for Marler, 65), Wallace (for Fa'asavalu, 68).
Not used: Sinckler, Matthews, Bolt, Clegg.
Toulouse: M Medard; V Clerc, F Fritz, Y Jauzion, T Matanavou; L McAlister, L Burgess; J Poux, G Botha, C Johnston, G Lamboley, Y Maestri, Y Nyanga, T Dusautoir (capt), L Picamoles.
Replacements: W Servat (for Botha, 53), Y Montes (for Poux, 46), Y Boutemane (for Johnston, 77), R Millo-Chluski (for Maestri, 56), J Doussain (for Burgess, 63), Y Donguy (for Matanavou, 76), Y David (for Fritz, 54), S Sowerby (for Picamoles, 71).
Referee: George Clancy (Ireland)