Chardy came through 5-7 6-3 6-2 6-2 and could face Andy Murray in the last eight.
Seppi started well, breaking his opponent in the opening game before saving four break-points in his own service game for a 2-0 lead.
They continued on serve despite both men giving up break-point opportunities, but it was Seppi who took the lead.
The Italian broke Chardy thanks to a great defensive effort before dominating off his own serve to take the opening set 7-5.
The second set continued with both players holding their own in the long rallies.
A great backhand down the line a couple of games in gave Chardy a break-point opportunity, and this time he took it, before holding his serve for a 5-2 lead.
Seppi served well to force his opponent to serve out the set, which he duly did to level the match.
Chardy came out firing in the third set, dominating off his forehand and taking a 2-0 lead.
Seppi found his first serve, as well as some punishing forehands to get on the board in the second set, but his opponent continued to find the big winners, breaking again shortly afterwards.
The number 21 seed saved a couple of set points and held his serve for 5-2 but he was delaying the inevitable and Chardy raced through his service game for a two sets to one lead.
Seppi managed to save a couple of break points early in the fourth set, before Chardy saved one of his own with two big serves, to make it 2-2.
He continued to punish Seppi for any short ball, whipping the ball around and over the Italian and eventually breaking him.
As Seppi's unforced error count increased, Chardy broke again, before holding his serve to upset the odds and make it into his first grand slam final.