We consider boundary control of the distributed parameter system described by the Korteweg--de Vries (KdV) equation posed on a finite interval $\alpha \leq x\leq \beta$: \[ \left \{ \begin{array}{l} {u _t + u _x + uu_x + u_{xxx} =0} \\ \\ {u (\alpha , t)=h_1 (t), \qquad u(\beta , t) = h_2 (t), \qquad u _x (\beta , t) = h_3 (t) } {u} \end{array} \right. \qquad (*) \] for $ t\geq 0$. It is shown that by choosing appropriate control inputs ($h_j(t), \ j=1,2,3$), one can always guide the system $(*)$ from a given initial state $\phi \in H^s(\alpha, \beta )$ to a given terminal state $\psi \in H^s(\alpha, \beta )$ in the time period $[0,T]$ so long as $\phi $ and $\psi $ satisfy \[ \| \phi (\cdot ) -w(\cdot , 0)\| _{H^s(\alpha, \beta )}\leq \delta \quad \mbox{and} \quad \| \psi (\cdot ) -w(\cdot , T)\| _{H^s(\alpha, \beta )}\leq \delta \] for some $\delta >0$ independent of $\phi $ and $\psi $, where $s\geq 0$ and $w\equiv w(x,t)$ is a given smooth solution of the KdV equation. This exact boundary controllability is established by considering a related initial value control problem of the KdV equation posed on the whole line R. Various recently discovered smoothing properties of the KdV equation have played important roles in our approach.