The second-seeded Williams, who had reached the Wimbledon final in eight of the past 10 years, was undone by a slew of unforced errors and double faults in the biggest upset of the women's tournament.
In another surprise, 21st-seeded Vera Zvonareva of Russia rallied to beat two-time U.S. Open winner Kim Clijsters 3-6, 6-4, 6-2 to reach her first Wimbledon semifinal.
Venus Williams never got on track against the 22-year-old Pironkova, who was the lowest-ranked player left in the women's draw and had never previously passed the second round in 18 previous Grand Slams.
The loss rules out another all-sister final between Venus and Serena Williams, the defending champion who faced China's Li Na in a later quarterfinal.
Pironkova also beat Williams in the first round of the Australian Open in 2006, but few gave her a chance of replicating the feat on the grass at the All England Club, where Williams has dominated for a decade.
But Williams was clearly off her game and Pironkova took advantage.
Williams committed 29 unforced errors, compared to just six for Pironkova. She had five double-faults on serve, including back-to-back doubles in two games.
Pironkova denied Williams her 200th career victory on grass and spoiled the prospect of a fifth Wimbledon final against Serena, who beat her older sister last year for her third Wimbledon title.
Pironkova becomes the first woman representing Bulgaria to reach a Grand Slam semifinal in the Open era. Bulgarian-born Manuela Maleeva-Fragniere was representing Switzerland when she reached the U.S. Open semifinals in 1992 and 1993.
Pironkova broke Williams twice in the first set, winning four straight games after a 2-all tie, then finished the set with a backhand passing shot down the line.
After Williams broke to go up 2-1 in the second set, it looked as though she might be able to take command. But Pironkova broke right back in the next game, which included the shot of the match. After Williams hit a forehand drop volley, the Bulgarian raced forward and flipped a backhand lob winner over Williams' head. Pironkova swung her arm in an uppercut celebration.
Down 5-2, Williams saved two match points on serve, but Pironkova served out the match in the next game. After Williams missed a forehand volley, Pironkova squealed and fell on her back on the turf.
Pironkova earned a semifinal berth against Zvonareva, who came back from a set down to beat Clijsters on Centre Court. It was the Russian's first win over Clijsters in six meetings.
Clijsters, returning to Wimbledon for the first time since 2006 after coming out of retirement, beat fellow Belgian Justine Henin on Monday and was viewed as a potential title threat.
The eighth-seeded Clijsters looked in command after sailing through the first set, but the match turned in the Russian's favor after she broke to go up 3-1 in the second.
Clijsters finished with 36 unforced errors, compared to 19 for Zvonareva.
In another quarterfinal, unseeded Petra Kvitova of the Czech Republic played qualifier Kaia Kanepi of Estonia.
The men had the day off ahead of Wednesday's quarterfinals.