I would approach this as a simplification problem, most easily solved by starting with $\;A \cap (B \cup A)\;$, expanding the definitions and then simplifying using the rules of logic.
So we calculate which $\;x\;$ are in that set:
\begin{align}
& x \in A \cap (B \cup A) \\
\equiv & \qquad \text{"definition of $\;\cap\;$; definition of $\;\cup\;$"} \\
(*) \;\;\; \phantom{\equiv} & x \in A \;\land\; (x \in B \;\lor\; x \in A) \\
\equiv & \qquad \text{"logic: use $\;x \in A\;$ on other side of $\;\land\;$"} \\
& x \in A \;\land\; (x \in B \;\lor\; \text{true}) \\
\equiv & \qquad \text{"logic: simplify"} \\
(**) \;\;\; \phantom{\equiv} & x \in A \\
\end{align}
By set extensionality, this proves the theorem.
In essence, the above proof uses (a generalization of) the absorption law from logic to prove the absorption law for sets.
Another way to go from $(*)$ to $(**)$ is
\begin{align}
& P \land (Q \lor P) \\
\equiv & \qquad \text{"rewrite -- to give both sides of $\;\land\;$ the same shape"} \\
& (P \lor \text{false}) \land (P \lor Q) \\
\equiv & \qquad \text{"extract common disjunct:$\;\lor\;$ distributes over $\;\land\;$"} \\
& P \lor (\text{false} \land Q) \\
\equiv & \qquad \text{"simplify"} \\
& P \\
\end{align}