This problem is used in Professor Blitzsteins' course Statistics 110 which is available from iTunes U. It is stated in Strategic Practice and Homework 2 problem 3.1. The first equality wasn't immediately clear to me so here are the details:
By the definition of conditional probability we have that $ P(X \mid Y) = \frac{P(X \cap Y)}{P(Y)} $
so to restate this in terms of the problem we have that $ P(C \mid B) = \frac{P(C \cap B)}{P(B)} $
Now we want to find $P(C \cap B)$. By the definition of the probability function we have that the probability of the union of disjoint events are the summation of the probability of each event. If we have an event $Z$, we can decompose that into two disjoint events like this $ P(Z) = P((Z \cap A) \cup (Z \cap A^c)) = P(Z \cap A) + P(Z \cap A^c) $
Notice that one can also use the law of total probability to get the above result since one can always partition a sample space $S$ into $A$ and $A^c$ given $A \subseteq S$.
Let $Z = C \cap B$. This leads to $ P(C \cap B) = P((C \cap B \cap A) \cup (C \cap B \cap A^c)) = P(C \cap B \cap A) + P(C \cap B \cap A^c) $
By using the definition of conditional probability once on each term in the above we get $ P(C \cap B) = P(C \mid (B \cap A)) P(A \cap B) + P(C \mid (B \cap A^c)) P(A^c \cap B) $
Using the definition of conditional probability again on the second factor of each term we get $ P(C \cap B) = P(C \mid (B \cap A)) P(A \mid B) P(B) + P(C \mid (B \cap A^c)) P(A^c \mid B) P(B) $
resulting in \begin{align} P(C \mid B) &= \frac{P(C \cap B)}{P(B)} \\ &= \frac{P(C \mid (B \cap A)) P(A \mid B) P(B) + P(C \mid (B \cap A^c)) P(A^c \mid B) P(B)}{P(B)} \\ &= P(C \mid (B \cap A)) P(A \mid B) + P(C \mid (B \cap A^c)) P(A^c \mid B) \end{align}