Half-backs Tobie Botes and Chris Burton kicked 19 points between them, and a 54th minute try from Italian international Luke McLean put the hosts in control at 22-13.
A somewhat rudderless Leinster tried desperately to strike back. Isa Nacewa and Fergus McFadden both missed penalties and Joe Schmidt's men also had a couple of late pops at the try-line.
From one such attack, Treviso seized upon a loose pass in their 22 to launch a stunning breakaway, with full-back Brendan Williams swooping on a kick ahead to score the clinching try.
Looking to continue where they left off against the Cardiff Blues last weekend, Leinster started in business-like fashion, grabbing their one and only try after just two minutes' play.
Winger Nacewa sparked a superb early attack with a neat chip and chase through the middle, Leinster's backs and forwards continued the move and Eoin O'Malley was involved twice before space was created on the right for Nacewa to slide over. He converted the try for good measure.
But Leinster handed three points back, shortly afterwards. They were whistled up for obstruction at a maul and scrum half Botes watched his kick drift inside the left hand post.
A clever kick to the right corner from Burton put pressure on the Leinster lineout, but the visitors quickly cleared the danger as the rain began to teem down.
The worsening conditions made ball-handling a lottery at times, and Treviso cleverly kept it tight. Two purposeful runs from South African Botes and a strong carry from Alessandro Zanni set up Burton for a sweetly-struck drop goal.
Treviso were visibly growing in confidence, and a well-weighted kick down the left touchline from Williams took his forwards back into the Leinster 22.
Soon after, Leinster were ruled offside as Fijian number 8 Manoa Vosawai made some hard yards on the left, and Botes stepped up to kick the Italians into a 17th minute lead - 9-7.
Nacewa missed a chance to move Leinster back in front, after the Treviso scrum gave away a penalty, and he was off target again when trying to punish Alberto Sgarbi for going offside.
Leinster struggled for territory and when they got it, Treviso's hugely committed tackling kept them at bay.
A bustling break from Vosawai off the back of a scrum got the home side on the front foot and debutant winger Joe Maddock took play into the visitors' 22, before the composed Burton landed his second drop goal.
Treviso's hunger was summed up by Vosawai's powerful hit on recent Ireland cap Rhys Ruddock, but Leinster's advantage in the scrum earned them an injury-time penalty which Nacewa converted to make it 12-10 at half-time.
A bulldozing midfield run from Sean O'Brien got Leinster back on the attack as the second half got underway, and they quickly retook the lead courtesy of a Nacewa penalty from in front of the posts.
Back came Treviso, with Williams weaving his way through a gap on the right to send Maddock tearing into the Leinster 22. Burton threatened the try-line but Leinster survived and blew an O'Brien-inspired break, as Eoin Reddan's pass to Rob Kearney went astray.
Leinster gave away two penalties in quick succession in their 22, the second of which saw Botes boot Treviso ahead again at 15-13, and the home crowd raised the decibel level as Vosawai and Sgarbi made inroads from the next attack.
The roof was lifted off the stand when winger McLean slipped out of a tackle from Ruddock and had the strength to make the line, despite the best efforts of Reddan. Botes' curled conversion gave Treviso a 22-13 cushion, and a shock result was well and truly on the cards.
Williams conjured up an outstanding piece of individual play when he tracked back to pick up a kick through from Luke Fitzgerald. The tricky full-back gathered the ball, turned and jinked past Kearney and replacement McFadden before finding a brilliant touch, taking his forwards 60 metres downfield.
Leinster moved the ball wide from deep but Treviso's defence remained organised and strong, and a loose pass from Ian Madigan, which Burton gobbled up, had them dreaming of a second try.
The gap remained at nine points. Treviso suffered a considerable setback when their hooker and captain Leonardo Ghiraldini was sin-binned for a punch spotted by referee Peter Allan.
The Italians had seven minutes to survive and luck was on their side when Nacewa missed the resulting penalty and McFadden then pushed another place-kick to the right and wide.
As the minutes ticked by, Leinster went in search of a try to seal a losing bonus point. But just as they spread the ball out to the right, Treviso punished a handling error with clinical precision, sending Australian speedster Williams away for a rousing seven-pointer.
The victory extended Treviso's unbeaten run at Stadio di Monigo to six matches, and ended their ten-game losing streak against Irish opposition.
Leinster will have to lick their wounds after their first loss to an Italian side since Amatori Milano beat them in Calvisano 13 years ago.
Giving his reaction in Treviso, Leinster coach Joe Schmidt said: "I'm really disappointed with the result and the performance as well.
"In those conditions you really need to have a platform to play from and I don't think we ever gave ourselves a platform from the start."
|Benetton Treviso Score Card|
|Leinster Rugby Score Card|