In Andrey Gogolev's answer the following two assertions appear:

"It is clear that $X$ is a non-empty . . . set" and "Now consider any maximal interval
$(c,e) \subset ((a,b) - X)$.  Recall that $f$ is a polynomial of some degree $d$ on
$(c,e)$."

These are true, but perhaps not transparently obvious.  In attempting to fill the gaps, I
developed a variation of the proof which requires neither the observation that $X$ has no
isolated points nor any argument about degrees of polynomials.  Here is my adaptation,
borrowed freely from Gogolev:

I use the symbol "$\bot$" for "contradiction."

Define $I = [0,1]$ and $X = \{x \in I: \forall (a,b) \ni x: f|_{(a,b) \cap I} \; is \;
not \; a \; polynomial\}$ .

We first establish the following:

Lemma: Suppose $[c,d] \subset I$ is an interval on which $f$ coincides with a polynomial
$p$.  Then there exists a maximal subinterval $[cm,dm]$ having the properties $[c,d]
\subset [cm,dm] \subset I$ and $f = p$ on $[cm,dm]$.  Furthermore, $cm \in X \cup \{0\}$
and $dm \in X \cup \{1\}$.

Proof: Let $cm$ = LUB $\{x: f(x) \neq p(x)\} \cup \{0\}$ and $dm$ = GLB $\{x: f(x)
\neq p(x)\} \cup \{1\}$.  It is clear that $[cm,dm]$ is maximal.  Supppose that $cm
\not \in X$ and $cm \neq 0$.  Then we can find another interval $(u,v)$ with $cm \in (u,v)
\subset I$ on which $f$ coincides with a polynomial $q$.  But on $[cm,v]$ we have $f = p =
q$, whence $f = p$ on $[u,dm]$.  Since $u < cm$, we see that $[cm,dm]$ is not maximal
($\bot$).  Therefore, $cm \in X$ or $cm = 0$. Likewise, $dm \in X$ or $dm = 1$.

Now we begin the proof-by-$\bot$ of the main result.  Suppose that $f$ is not a polynomial
on $I$.

If $X = \emptyset$, we begin with any $[c,d]$, and the lemma tells us that $cm = 0$ and
$dm = 1$, so $f$ is a polynomial on $I$ ($\bot$).  Thus, $X \neq \emptyset$.  Now define
$S_n = \{x: f^{(n)}(x) = 0\}$.  $X$ and $S_n$ are clearly closed.  Applying the Baire
category theorem to the covering $\{X \cap S_n\}$ of the complete metric space $X$, we get
that there exists an interval $(a,b)$ such that $(a,b) \cap X \neq \emptyset$ and $(a,b)
\cap X \subset S_n$ for some $n$.  (It is important here that $S_n$ is closed.)

Put $J = (a,b) \cap I$, and let $a1$ and $b1$ be the left and right end-points of $J$. 
(Observe that it is possible that $a1 = 0$ or $b1 = 1$, so J may not be open.)  If $J
\subset S_n$, then $f$ is a polynomial on $J$, whence $(a,b) \cap X = (a,b) \cap I \cap X
= J \cap X = \emptyset$ ($\bot$).  Thus, we can choose a point $t \in J - S_n$.  Now $t
\not \in X$, since $(a,b) \cap X \subset S_n$.  Therefore, we can find an interval $(c,d)
\ni t$ such that $f$ coincides with a polynomial $p$ on $(c,d) \cap I$.  Furthermore, $f =
p$ on the closure of $(c,d) \cap I$, which is an interval of the form $[c1,d1] \subset I$.
Apply the lemma to $[c1,d1]$ to obtain a maximal interval $[cm,dm]$ having the stated
properties.  Since $t \not \in S_n$ and considering $p$, we see that $cm \not \in S_n$. 
Suppose $cm > a1$.  Then we have $a \le a1 < cm \le c1 \le t < b$, so $cm \in (a,b)$. 
From the lemma, $cm \in X$, since $cm > a1 \ge 0$.  Thus, $cm \in (a,b) \cap X \subset
S_n$ ($\bot$).  Therefore, $cm \le a1$.  Likewise, $dm \ge b1$.  Thus, $f$ is a polynomial
on $J \subset [a1,b1] \subset [cm,dm]$, whence, as above, $(a,b) \cap X = \emptyset$
($\bot$).  We are at last forced to conclude that $f$ must indeed be a polynomial on $I$.