We induct on $|E(G)|$. The base case is trivial.
Suppose first that there are two non-consecutive vertices $u, v$ of $C$ which are adjacent. Let $e$ be the edge joining them. Then, $e$ partitions the graph into two graphs $G_1$ and $G_2$ on either side of $e$ in the plane, both of which satisfy the induction hypothesis, so $\chi(G_1), \chi(G_2) \leq 3$. Permuting the colors of (say) $G_2$ appropriately so that $u$ and $v$ are colored identically in $G_1$ and $G_2$, we obtain a 3-coloring of $G$, so $\chi(G) \leq 3$.
Otherwise, no two nonconsecutive vertices of $C$ are adjacent. Let $w_0, w_1$ be any consecutive vertices on $C$. We know that there is a vertex $u \in V(G) - V(C)$ with $w_0 u, w_1 u \in E(G)$. By the induction hypothesis, the graph $G' = G \setminus w_0 w_1$ has $\chi(G') \leq 3$. I claim that any 3-coloring of $G'$ has $w_0$ and $w_1$ as different colors, so that this coloring extends to a 3-coloring of $G$.
Suppose not, i.e. $w_0$ and $w_1$ are colored identically, and $u$ is colored differently. Consider the triangles incident to $u$, with vertices $u w_i w_{i + 1}$. Since $u$ has even degree, then the path $P = w_1 w_2 \ldots w_{\deg(u) - 1} w_0$ has odd length. Our 3-coloring of $G'$ determines that $P$ is 2-colored, and a 2-colored odd path has opposite colored ends (easily verified), which is a contradiction.