We present a method of constructing rate-compatible polar codes that are capacity-achieving with low-complexity sequential decoders. The proposed code construction allows for incremental retransmissions at different rates in order to adapt to channel conditions. The main idea of the construction exploits certain common characteristics of polar codes that are optimized for a sequence of degraded channels. The proposed approach allows for an optimized polar code to be used at every transmission thereby achieving capacity. Due to the length limitation of conventional polar codes, the proposed construction can only support a restricted set of rates that is characterized by the size of the kernel when conventional polar codes are used. We thus consider punctured polar codes which provide more flexibility on block length by controlling a puncturing fraction. We show the existence of capacity-achieving punctured polar codes for any given puncturing fraction. Using punctured polar codes as constituent codes, we show that the proposed rate-compatible polar code is capacity-achieving for an arbitrary sequence of rates and for any class of degraded channels.