It was the first win for 31-year-old Bora rider Benedetti who led a long break-away group in the first mountain stage after the 158km run from Cuneo.
Polanc, also among the leading group, took the leader's pink jersey from UAE Emirates teammate Valerio Conti of Italy.
Benedetti crossed just ahead of Bahrain-Merida's Caruso with Ireland's Edward Dunbar of Team INEOS third.
"I've worked a lot for the others in the past but today I got my opportunity," said Benedetti.
"I'm not a talent, I'm not (usually) a winner, but the way I finished it off is exactly what I wanted to do."
It was the third stage win for Benedetti's Bora team after Germany's Pascal Ackermann's two sprint wins.
The first 15 finishers had all been part of a large early breakaway that built up a sizeable advantage. Polanc finished 25 seconds behind Benedetti but more than nine minutes ahead of Conti and more than seven minutes ahead of fellow Slovene Primoz Roglic, who climbed to second
Behind the breakaway, the opening skirmishes between the favourites occurred in the main climb of the day, Montoso, the first ranked in the top category of this Giro.
Colombian Miguel Angel Lopez, third in 2018 Giro, and Spaniard Mikel Landa went on the attack, 37km from the finish, taking about 30 seconds on their direct rivals in the standings.
Polanc -- a 27-year-old Slovenian who has won two Giro stages, each time in the mountains -- pulled on the pink jersey for the first time.
"It was a team tactic that I'd go in the breakaway so we could have a better control over the race," said Polanc.
"It was also a way to keep the Maglia Rosa (pink jersey) in the team.
"We were lucky to be able to play these cards and I'm very happy to have the jersey.
"I was thinking about the stage win as well but being the virtual leader I had to pull a lot more than others."
Friday's 13th high-mountain stage covers 196km and features three difficult summits -- Colle del Lys, Pian del Lupo and the final Colle del Nivolet climb, leading to Lago Serru, on a route that includes gradients of up to 15 precent.
Results after Thursday's 12th stage of the Giro d'Italia, a 158km run from Cuneo to Pinerolo:
1. Cesare Benedetti (ITA/Bora) 3hr 41min 49sec (average: 42.7 km/h), 2. Damiano Caruso (ITA/BAH) s.t, 3. Eddie Dunbar (IRL/INE) s.t., 4. Gianluca Brambilla (ITA/TRE) at 02sec, 5. Eros Capecchi (ITA/DEC) 06, 6. Jan Polanc (SLO/UAE) 25, 7. Matteo Montaguti (ITA/AND) 34, 8. Thomas De Gendt (BEL/LOT) 2:36, 9. Francesco Gavazzi (ITA/AND) 2:36, 10. Manuel Senni (ITA/BAR) 2:38
1. Jan Polanc (SLO/UAE Emirates) 48hr 49min 40sec, 2. Primoz Roglic (SLO/JUM) at 4min 07sec, 3. Valerio Conti (ITA/UAE) 4:51, 4. Eros Capecchi (ITA/DEC) 5:02, 5. Vincenzo Nibali (ITA/BAH) 5:51, 6. Bauke Mollema (NED/TRE) 6:02, 7. Rafal Majka (POL/BOR) 7:00, 8. Richard Carapaz (ECU:MOV) 7:23, 9. Andrey Amador (CRC/MOV) 7:30, 10. Hugh Carthy (GBR/EF1) 7:33
13. Simon Yates (GBR/MIT) 7:53, 16. Miguel Angel Lopez (COL/AST) 8:08, 21. Mikel Landa (ESP/MOV) 8:31.