It was the Ukrainian who took charge of the first set, twice breaking Del Potro at 2-1 and 4-1 to serve his way into a one-set lead after just 36 minutes.
Del Potro found his form in the early stages of the second set, breaking to move into a 2-0 lead. However, Dolgopolov broke straight back to keep the set on serve at 2-2.
The Ukrainian then secured another break of his own, but two consecutive breaks from Del Potro levelled the match at one-set-all.
The third set also brought three breaks of serve, but Del Potro held at 5-3 to book his spot in the next round after just over two hours of tennis.