Spanish 16th seed Robredo prevailed 7-6 (8-6) 7-5 over the world number one in the third round of the ATP 1000 event after one hour 44 minutes on court.
Robredo, who earned his first win over the Serbian in 11 years, won 75 per cent of his service points and broke Djokovic twice in Cincinnati.
"It's happened only two times in 13, 14 years of my career, so I have to be very, very happy. Obviously right now I'm still in the tournament, the important thing is to try to keep winning," Robredo said afterwards.
Despite serving up 10 aces, the loss marked the second straight week Djokovic had been bundled out before the quarter-finals, an alarming sign ahead of the US Open.
Djokovic lost to eventual champion Jo-Wilfried Tsonga in the third round at the Rogers Cup in Toronto last week.
"Just many, many, many things are not clicking these two weeks on hard courts," said Djokovic.
"It's unfortunate, but it's more than obvious I'm not playing even close to what I'm supposed to play. I have to keep on working and trying to get better for US Open."
There was no such trouble for fellow seeds Roger Federer, Stan Wawrinka, Milos Raonic, David Ferrer and Andy Murray, who all booked their spots in the last eight.
Swiss second seed and five-time champion Federer survived to beat exciting Frenchman Gael Monfils 6-4 4-6 6-3.
Federer, who is aiming to win the Masters event for the first time since 2012, won four break points and saved three in a tightly contested encounter.
Compatriot and third seed Wawrinka - the Australian Open champion - overcame Croatian 16th seed Marin Cilic 3-6 6-0 6-1.
Fifth-seeded Canadian Raonic edged Steve Johnson of the United States 6-7 (7-9) 6-3 7-6 (7-4).
Spanish sixth seed Ferrer was pushed early but eventually eased to a 7-5 6-0 victory at the expense of Russian Mikhail Youzhny.
Murray - the British eighth seed - triumphed against 11th-seeded American John Isner 6-7 (3-7) 6-4 7-6 (7-2).
Italy's 15th seed Fabio Fognini was also victorious, posting a 3-6 6-3 6-3 success over Lu Yen-Hsun of Chinese Taipei.
Meanwhile, Frenchman Julien Benneteau accounted for Pole Jerzy Janowicz 7-5 6-1.