[proofplan]
We choose a basis of $A \cap B$, extend it first to a basis of $A$, and then extend that basis to a basis of $A \cup B$. The elements added in the second extension lie outside $A$, hence inside $B$. Combining these added elements with the original basis of $A \cap B$ gives an independent subset of $B$, whose cardinality yields the desired lower bound for $r(B)$.
[/proofplan]
[step:Extend a basis of $A \cap B$ through $A$ to $A \cup B$]
Fix subsets $A,B \subseteq E$. Let $C \subseteq A \cap B$ be a basis of $A \cap B$, meaning that $C \in \mathcal I$, $C \subseteq A \cap B$, and $|C| = r(A \cap B)$.
We use the finite matroid extension property: if $S \subseteq E$ and $X \in \mathcal I$ with $X \subseteq S$, then there exists a basis $Y$ of $S$ such that $X \subseteq Y$. Applying this with $S=A$ and $X=C$, choose a basis $J$ of $A$ such that $C \subseteq J$. Applying it again with $S=A \cup B$ and $X=J$, choose a basis $K$ of $A \cup B$ such that $J \subseteq K$. Thus
\begin{align*}
|C| &= r(A \cap B), &
|J| &= r(A), &
|K| &= r(A \cup B).
\end{align*}
[guided]
Fix subsets $A,B \subseteq E$. The first object we need is an independent set that already captures the rank of the overlap. Choose a subset $C \subseteq A \cap B$ such that $C \in \mathcal I$ and
\begin{align*}
|C| = r(A \cap B).
\end{align*}
Such a set exists because $E$ is finite, so the maximum in the definition of rank is attained. We call $C$ a basis of $A \cap B$.
Next we enlarge $C$ without losing independence. The finite matroid extension property says: whenever $S \subseteq E$ and $X \in \mathcal I$ with $X \subseteq S$, there is a basis $Y$ of $S$ satisfying $X \subseteq Y$. This property follows from the independence augmentation axiom by choosing an inclusion-maximal independent subset of $S$ containing $X$; if it did not have maximum possible cardinality among independent subsets of $S$, augmentation would add another element of $S$ and contradict maximality.
Apply this extension property first with $S=A$ and $X=C$. We obtain a basis $J$ of $A$ such that $C \subseteq J$, and therefore
\begin{align*}
|J| = r(A).
\end{align*}
Since $J \subseteq A \subseteq A \cup B$ and $J \in \mathcal I$, we may apply the same extension property again with $S=A \cup B$ and $X=J$. This gives a basis $K$ of $A \cup B$ such that $J \subseteq K$, and hence
\begin{align*}
|K| = r(A \cup B).
\end{align*}
Together with the choice of $C$, we have
\begin{align*}
|C| &= r(A \cap B), &
|J| &= r(A), &
|K| &= r(A \cup B).
\end{align*}
[/guided]
[/step]
[step:Build an independent subset of $B$ from the elements added after $J$]
Define
\begin{align*}
D := K \setminus J.
\end{align*}
Since $J$ is a basis of $A$, we have $J \subseteq A$. If $x \in D$, then $x \in K \subseteq A \cup B$ and $x \notin J$. Because $K$ is independent and $J$ is a maximal independent subset of $A$, no element of $K \setminus J$ can lie in $A$; otherwise $J \cup \{x\} \subseteq A$ would be independent, contradicting maximality of $J$ in $A$. Therefore
\begin{align*}
D \subseteq (A \cup B) \setminus A \subseteq B.
\end{align*}
Also $C \subseteq A \cap B \subseteq B$, so
\begin{align*}
C \cup D \subseteq B.
\end{align*}
Since $C \subseteq J$ and $D = K \setminus J$, we have $C \cup D \subseteq K$. The hereditary axiom for matroids gives $C \cup D \in \mathcal I$, because $K \in \mathcal I$ and $C \cup D \subseteq K$.
[/step]
[step:Convert the independent subset of $B$ into the submodular inequality]
Since $C \cup D$ is an independent subset of $B$, the definition of rank gives
\begin{align*}
r(B) \ge |C \cup D|.
\end{align*}
The sets $C$ and $D$ are disjoint because $C \subseteq J$ while $D = K \setminus J$. Hence
\begin{align*}
|C \cup D| = |C| + |D|.
\end{align*}
Since $J \subseteq K$ and $D = K \setminus J$, we also have
\begin{align*}
|D| = |K| - |J|.
\end{align*}
Combining these equalities gives
\begin{align*}
r(B) \ge |C| + |K| - |J|.
\end{align*}
Substituting $|C| = r(A \cap B)$, $|K| = r(A \cup B)$, and $|J| = r(A)$ yields
\begin{align*}
r(B) \ge r(A \cap B) + r(A \cup B) - r(A).
\end{align*}
Adding $r(A)$ to both sides gives
\begin{align*}
r(A) + r(B) \ge r(A \cup B) + r(A \cap B).
\end{align*}
This is the desired submodularity inequality.
[/step]