See Darboux's theorem for notation, formulation, and significance.
Suppose we're given an intermediate value y. We must show f'(c)=y for some a<=c<=b. Define g(x)=f(x)-y*x. Then g is also a differentiable function, and g'(x)=f'(x)-y. If we assume f'(a)<f'(b) (the other case is absolutely symmetrical), then this means g'(a)<0<g'(b).
So we know that g is locally decreasing in a right neighbourhood of a and locally increasing in a left neighbourhood of b. In particular, neither a nor b can be a minimum of g. But since the interval [a,b] is closed and bounded, we know that g attains a minimum on it, at a point we shall call c. Since c is in (a,b), we know that g'(c)=0, or f'(c)=y.