Stage 12 of the 2007 Giro d'Italia took place on 24 May; the race concluded on 3 June. The second half of the Giro began with a challenging mountain stage that finished outside Italy, the first of three stages in this Giro that did so. This stage resulted in the race lead transferring from Andrea Noè to his teammate and team leader Danilo Di Luca, who did not relinquish this lead and finished the race as its champion.

The battle for the other two spots on the Giro podium also began in stage 12 but was not resolved until later in the race. Andy Schleck from won the white jersey in Milan as the Giro's best rider under 25, and was in a competition with Eddy Mazzoleni, Gilberto Simoni, Damiano Cunego, and Riccardo Riccò to see who would round out the podium with Di Luca. It was in the marquee stages of the second half of the race that Schleck and Mazzoleni distinguished themselves as podium favorites, eventually finishing the race second and third overall, respectively. showed well, with Riccò and Simoni both taking mountain stage wins and Leonardo Piepoli winning the green jersey in Milan as the Giro's best climber.

Alessandro Petacchi from won two stages in the second half of the Giro, and the points classification, but his subsequent disqualification for a non-negative salbutamol test given earlier in the race nullified these victories.

LegendJerseys appearing in the table on the left of the page indicate those worn by the cyclist during the particular stage, while those appearing in the table on the right of the page indicate those awarded to the cyclist after the stage.      Denotes the leader of the General classification      Denotes the leader of the Mountains classification      Denotes the leader of the Points classification      Denotes the leader of the Young rider classification   s.t. indicates that the rider crossed the finish line in the same group as the one receiving the time above him, and was therefore credited with the same finishing time.

Stage 12 24 May 2007 – Scalenghe to Briançon (France),

This was the first major mountain stage of the Giro. The course included two difficult first-category climbs, as the route passed from Italy into France. The first of these climbs was the Colle dell'Agnello, which crested just inside the French border. This was the Cima Coppi, the highest climb in the race. The climb took stretched for and reached a vertical elevation of . The Col d'Izoard later on is only marginally shorter and less steep, reaching in elevation after on the road, for a steady 7.1% gradient. The finish came on a steep descent into Briançon, a popular host town for the Tour de France.

This France-bound stage had a breakaway group consisting of two French riders each representing a French team: Yoann Le Boulanger of and Christophe Riblon of . By the mark, the duo had a 17 and a half minute advantage on the peloton, as the other riders were conserving themselves for the big climbs ahead. The team, and in particular Leonardo Piepoli, did the pacemaking on the ascent of the Colle dell'Agnello, and after a few kilometers of the climb only a select group of overall favorites remained together as the first chase group. One surprising rider to crack was two-time Giro winner Paolo Savoldelli, who lost contact with the group of favorites from the summit of the Agnello and lost five minutes to them at day's end. Savoldelli was still hurt from the previous day's crash, and informed his lieutenant Eddy Mazzoleni that he should keep the pace for as long as he could and ride his own race, and that Savoldelli would look after himself.

In the front of the race, Le Boulanger was the first over the Agnello, winning the prize that went with conquering the Cima Coppi. Riblon followed 1'30" behind him; the group of overall favorites was still 13 minutes behind at the summit of the climb. Piepoli's pacemaking on the ascent had succeeded in whittling the group down to just himself, Gilberto Simoni, Damiano Cunego, Danilo Di Luca, Mazzoleni, Andy Schleck, and Stefano Garzelli. Riccardo Riccò, Savoldelli, Yaroslav Popovych, and overnight race leader Andrea Noè had all been in this group at the beginning of the climb, but were all eventually cracked by the pace.

Piepoli continued to pull the Simoni group through the descent from the Agnello and the beginning of the Iozard climb, absorbing Riblon in the process. Le Boulanger was alone in the front of the race as the ascent of the Iozard began, 3 minutes ahead of Simoni's group. With left in the climb, Piepoli broke away from the group he had been pacing, in a move to see who could match his acceleration. Di Luca and Schleck quickly made the bridge, with Simoni holding their wheels, but Cunego and Garzelli did not react as quickly and had to expend more energy to stay with the leaders. Later, Garzelli was dropped by this group's pace, and lost 2 minutes to them at the finish line. This group caught Le Boulanger before the summit of the Iozard.

Seconds before reaching that summit, Di Luca attacked from the leading group and came free, taking maximum mountains points and, more importantly, opening up a time gap. He opened up a 13-second lead on Schleck, Simoni, and Mazzoleni, and 25 to Cunego. Piepoli faded further and out of contention, at last hitting the wall after doing some strenuous pacemaking for much of this difficult stage. Simoni's descending skills brought himself, Schleck, and Mazzoleni back together with Di Luca minutes later, and they were together in Briançon for the stage finish. Di Luca attacked for the stage win from the finish line, after a sharp right-hand turn, and drew Schleck with him. Simoni went à bloc in his attempt to reach them, and did pass Schleck, but could not come around Di Luca, who won the stage. The others in the leading group of five finished scattered behind them. 's Marzio Bruseghin, who had begun the day second in the overall standings, was in the second chase group most of the day and finished 2'33" back, retaining second overall. Noè was 9'45" off the pace and surrendered the pink jersey to his team leader Di Luca. Di Luca still held the green jersey as mountains classification leader after the stage; Piepoli wore it in the next three stages.

Stage 12 result RiderTeamTime 1 4h 46' 39" 2 s.t. 3 + 7" 4 + 15" 5 + 19" 6 +2' 17" 7 +2' 33" 8 +2' 33" 9 +2' 33" 10 +2' 38"General classification after stage 12 RiderTeamTime 1 56h 42' 25" 2 +1' 03" 3 +1' 16" 4 +1' 25" 5 +1' 39" 6 +2' 10" 7 +2' 14" 8 +2' 34" 9 +2' 48" 10 +3' 28"

Stage 13 25 May 2007 – Biella to Santuario di Oropa, (individual time trial)

The Giro's first individual time trial consisted entirely of the first-category climb to the Santuario di Oropa. The route was uphill all the way, gaining at an average gradient of 5.8%, with the steepest stretches reaching 13%. Though noted to be a difficult climb, it was expected that the short length of this stage would limit its effect on the overall standings.

The first rider of the day to post a time under 30 minutes was 's Julio Alberto Pérez. His 29'38" was eventually bettered by American time trial specialist David Zabriskie, who stopped the clock at 29'14". Leonardo Piepoli started slowly, well behind Zabriskie at the intermediate time check, but finished strongly, gaining 4 seconds on Zabriskie at the check and 18 at the finish line. ' Evgeni Petrov posted the best time at the first intermediate time check, but faded as the course wore on and could not beat Piepoli's time. Riccardo Riccò, Franco Pellizotti, Andy Schleck, Damiano Cunego, and Gilberto Simoni all posted solid times, but all fell short of overtaking Piepoli.

The last two men to take the course were Italian national time trial champion Marzio Bruseghin and race leader Danilo Di Luca. Bruseghin had the second best splits at the first two intermediate time checks and gained against Piepoli in the final where the others had lost time to him, winning the stage by a single second. Di Luca also rode well, finishing 8 seconds back of Bruseghin, and gaining time on his major rivals. After the stage, Simoni expressed disappointment that Piepoli was so narrowly defeated after having worked so hard the day before. Bruseghin held second overall after the stage and slightly narrowed his time gap to Di Luca, but made it clear that his focus going forward would be to work for team leader Cunego and not for any individual aspirations.

Stage 13 result RiderTeamTime 1 28' 55" 2 + 1" 3 + 8" 4 + 19" 5 + 22" 6 + 29" 7 + 31" 8 + 33" 9 + 38" 10 + 40"General classification after stage 13 RiderTeamTime 1 57h 11' 28" 2 + 55" 3 +1' 57" 4 +2' 40" 5 +2' 44" 6 +2' 51" 7 +3' 11" 8 +3' 32" 9 +3' 52" 10 +3' 53"

Stage 14 26 May 2007 – Cantù to Bergamo,

The first of this stage were flat, but two categorized climbs followed. The second-category Passo di San Marco and the third-category La Trinità-Dossena had a descent between them. Though a flat stretch followed to the finish, it was not likely that any sprinters would be present in the leading group to contest the stage.

The morning breakaway numbered eleven. During the flat stretch before the Passo di San Marco climb, Stefano Garzelli tried to use his team to soften the main field so he could attack and bridge up to the leaders, but team , working for race leader Danilo Di Luca, nullified the move.

The group thinned after cresting the climb, leaving only Iván Parra, Paolo Bettini, and Fortunato Baliani just less than two minutes ahead of the pink jersey group, which contained all of the race's overall favorites. Garzelli and teammate Massimo Codol came free of this group on the ascent of La Trinità-Dossena and drew Gilberto Simoni and the powerful duo of Eddy Mazzoleni and Paolo Savoldelli with them. The three breakaway riders were able to stay with them, forming a leading group of seven, after Codol dropped after doing some strenuous pacemaking. They built a 30-second advantage over the pink jersey group, as Liquigas was spent from their earlier effort to keep the race together. They kept their advantage over the other race favorites at that level for most of the stage, contesting a sprint finish among themselves 38 seconds ahead of Di Luca in eighth. Simoni opened the sprint first, with to go to the finish line, but as is so often the case, the first to go was not the winner. Garzelli passed him up with left and won his first Giro stage in three years. Simoni moved up from eighth to fifth after the stage, and several time gaps tightened with the day's results.

Stage 14 result RiderTeamTime 1 4h 58' 34" 2 s.t. 3 s.t. 4 s.t. 5 s.t. 6 + 3" 7 + 3" 8 + 38" 9 + 38" 10 + 38"General classification after stage 14 RiderTeamTime 1 62h 10' 40" 2 + 55" 3 +1' 57" 4 +2' 40" 5 +2' 42" 6 +2' 44" 7 +2' 51" 8 +3' 11" 9 +3' 15" 10 +3' 52"

Stage 15 27 May 2007 – Trento to Tre Cime di Lavaredo,

This was the Giro's queen stage, featuring four categorized climbs along with an uncategorized wall early on. It concluded at the picturesque Tre Cime di Lavaredo with a demanding final climb, only long but with a steady 7.6% grade and stretches of over 20%.

After a flurry of morning attacks and counterattacks resulted in no group coming clear, the right combination formed after close to an hour and covered. By the mark, the 22-strong breakaway representing 17 teams had three minutes on the main field. Their advantage eventually grew to nearly seven minutes, but with such difficult parcours ahead, they stood little chance of staying away.