Yes, $f$ is an isometry; you only need to know that $f$ is a homeomorpphism, diffeomorphism is not needed. You first show that (by continuity of $f$) that $f$ sends geodesics to geodesics. From this, you conclude that $f$ is the lift of a projective transformation $g: RP^2\to RP^2$. ($f$ preserves anipodality since antipodal points are intersections of two great circles; then use von Staudt's theorem about characterization of elements of $PGL(3,R)$.) By composing with a random isometry of $S^2$, you can assume that $g$ has three fixed points $x, y, z$ in general position on $RP^2$. If $f$ is not an isometry, you get a contradiction by taking $a, c$ to be lifts of two of the fixed points, say, $x, z$, and $b$ the midpoint of $a, b$ and observing that
$$
\lim_{n\to\infty} g^n(p)\in  \{x, z\}
$$ 
for every $p$ on the projective line $xy$.