The 23-year-old Rabobank rider peeled away from a small group of riders with 2.5km to go as he raced to the uphill finish in Bukowina Tatrzanksa. Switzerland's Michael Albasini was second seven seconds adrift and Slovenian Grega Bole finished third.
Martin crossed the line in seventh place, nine seconds back on the rain-soaked 228.5km sixth stage, concluding with two laps of an 11.8km hilly circuit in the remote Tatry mountain region.
The Irishman continues to lead with a margin of just eight seconds over Bole.
Mollema said he had to weigh up his options during the rollercoaster final part of the course.
"I was sixth yesterday and I wanted to go at least a couple of places higher than that," said Mollema, who climbed to third in the overall standings.
"There was a fast, dangerous descent where I could have attacked but the flat afterwards was too long for me to be able to stay away so I had to time it well.
"I've moved up overall as a result too, but I don't think I'll be able to fight for the race outright."
Race leader Martin was satisfied after a stage peppered with short, punchy climbs made more difficult by the poor weather conditions.
"There were thunderstorms, lightning, it tipped down with rain for ages, it was like the Apocalypse had started," the Garmin-Transitions rider said.
"If it had started raining again, I don't think anyone would have finished.
"In the last 60km, everyone was attacking us, but we held on."
Martin's rival Bole crashed in the wet conditions metres after the finish but said later his injuries were only slight.
Stage six results
1. Bauke Mollema (Netherlands / Rabobank) 5 hrs 54 mins 30 s
2. Michael Albasini (Switzerland / HTC - Columbia) +7"
3. Grega Bole (Slovenia / Lampre)
4. Mauro Santambrogio (Italy / BMC Racing)
5. Tiago Machado (Portugal / RadioShack) +9"
6. Alessandro Ballan (Italy / BMC Racing)
7. Daniel Martin (Ireland / Garmin)
8. Lars Petter Nordhaug (Norway / Team Sky)
9. Sylwester Szmyd (Poland / Liquigas)
10. Marek Rutkiewicz (Poland / Poland)
1. Daniel Martin (Ireland / Garmin) 26 hrs 46 mins 50 secs
2. Grega Bole (Slovenia / Lampre) +8"
3. Bauke Mollema (Netherlands / Rabobank) +10"
4. Michael Albasini (Switzerland / HTC - Columbia) +20"
5. Alessandro Ballan (Italy / BMC Racing) +21"
6. Sylwester Szmyd (Poland / Liquigas) +26"
7. Mauro Santambrogio (Italy / BMC Racing) +28"
8. Marek Rutkiewicz (Poland / Poland) +30"
9. Diego Ulissi (Italy / Lampre)
10. Tom Danielson (U.S. / Garmin) +33"