[proofplan]
We prove directly that the flats form a finite atomic semimodular lattice. The lattice operations are forced by the closure structure: meets are intersections of flats, and joins are closures of unions. The only point requiring care is the presence of loops, because the bottom element is $\operatorname{cl}_M(\varnothing)$ rather than necessarily $\varnothing$; atoms are the rank-one flats above this bottom element. Finally, semimodularity follows from [submodularity of the matroid rank function](/theorems/5819) and the fact that closure preserves rank.
[/proofplan]
[step:Identify the bottom and top flats]
Let $B:=\operatorname{cl}_M(\varnothing)$ denote the closure of the empty set. Since closure operators are idempotent, $B$ is a flat. For any flat $F\in L(M)$, monotonicity of closure gives
\begin{align*}
B=\operatorname{cl}_M(\varnothing)\subset \operatorname{cl}_M(F)=F.
\end{align*}
Thus $B$ is the least element of $L(M)$.
The ground set $E$ is a flat because $\operatorname{cl}_M(E)=E$. Hence $E$ is the greatest element of $L(M)$. Since $E$ is finite, the set $L(M)\subset 2^E$ is finite.
[/step]
[step:Compute meets as intersections and joins as closures of unions]
Let $F,G\in L(M)$. Define
\begin{align*}
H:=F\cap G.
\end{align*}
We show that $H$ is a flat. Since $H\subset F$ and $F$ is flat, monotonicity gives
\begin{align*}
\operatorname{cl}_M(H)\subset \operatorname{cl}_M(F)=F.
\end{align*}
Similarly,
\begin{align*}
\operatorname{cl}_M(H)\subset \operatorname{cl}_M(G)=G.
\end{align*}
Therefore $\operatorname{cl}_M(H)\subset F\cap G=H$. The reverse inclusion $H\subset \operatorname{cl}_M(H)$ is extensivity of closure, so $\operatorname{cl}_M(H)=H$. Thus $F\cap G$ is a flat.
If $K\in L(M)$ satisfies $K\subset F$ and $K\subset G$, then $K\subset F\cap G$. Hence
\begin{align*}
F\wedge G=F\cap G.
\end{align*}
Now define
\begin{align*}
J:=\operatorname{cl}_M(F\cup G).
\end{align*}
By idempotence, $J$ is a flat, and by extensivity it contains both $F$ and $G$. If $K\in L(M)$ satisfies $F\subset K$ and $G\subset K$, then $F\cup G\subset K$, so monotonicity gives
\begin{align*}
J=\operatorname{cl}_M(F\cup G)\subset \operatorname{cl}_M(K)=K.
\end{align*}
Therefore
\begin{align*}
F\vee G=\operatorname{cl}_M(F\cup G).
\end{align*}
[guided]
We want to prove that $L(M)$ is a lattice, so for each pair of flats $F,G\in L(M)$ we must construct both the greatest lower bound and the least upper bound in the inclusion order.
First consider the meet. Define
\begin{align*}
H:=F\cap G.
\end{align*}
The set $H$ is automatically the largest subset of $E$ contained in both $F$ and $G$, but it remains to check that it is itself a flat. Since $H\subset F$ and closure is monotone,
\begin{align*}
\operatorname{cl}_M(H)\subset \operatorname{cl}_M(F).
\end{align*}
Because $F$ is a flat, $\operatorname{cl}_M(F)=F$, so
\begin{align*}
\operatorname{cl}_M(H)\subset F.
\end{align*}
The same argument using $H\subset G$ gives
\begin{align*}
\operatorname{cl}_M(H)\subset G.
\end{align*}
Thus
\begin{align*}
\operatorname{cl}_M(H)\subset F\cap G=H.
\end{align*}
Extensivity of closure gives $H\subset \operatorname{cl}_M(H)$, so the two inclusions imply $\operatorname{cl}_M(H)=H$. Hence $H$ is a flat. Any flat contained in both $F$ and $G$ is contained in $F\cap G$, so $F\cap G$ is the greatest lower bound:
\begin{align*}
F\wedge G=F\cap G.
\end{align*}
For the join, the union $F\cup G$ need not be a flat, so we close it. Define
\begin{align*}
J:=\operatorname{cl}_M(F\cup G).
\end{align*}
By idempotence of closure, $J$ is a flat. Since $F\cup G\subset J$, the flat $J$ is an upper bound for $F$ and $G$. If $K$ is any flat upper bound for $F$ and $G$, then $F\cup G\subset K$. Applying monotonicity of closure gives
\begin{align*}
\operatorname{cl}_M(F\cup G)\subset \operatorname{cl}_M(K).
\end{align*}
Since $K$ is flat, $\operatorname{cl}_M(K)=K$, and therefore $J\subset K$. Thus $J$ is the least upper bound:
\begin{align*}
F\vee G=\operatorname{cl}_M(F\cup G).
\end{align*}
[/guided]
[/step]
[step:Identify the atoms as the rank-one flats]
Let $B=\operatorname{cl}_M(\varnothing)$ be the bottom flat. We prove that the atoms of $L(M)$ are exactly the flats $A\in L(M)$ satisfying
\begin{align*}
r_M(A)=1.
\end{align*}
First let $A$ be an atom of $L(M)$. Since $A\ne B$, there exists $e\in A\setminus B$. Because $e\notin \operatorname{cl}_M(\varnothing)$, the element $e$ is not a loop, so
\begin{align*}
r_M(\{e\})=1.
\end{align*}
Let
\begin{align*}
A_e:=\operatorname{cl}_M(\{e\}).
\end{align*}
Then $A_e$ is a flat, $B\subset A_e$, and $A_e\subset A$ because $e\in A$ and $A$ is flat. Since $e\notin B$, we have $A_e\ne B$. The atomicity of $A$ forces $A_e=A$. Closure preserves matroid rank, so
\begin{align*}
r_M(A)=r_M(A_e)=r_M(\{e\})=1.
\end{align*}
Conversely, let $A\in L(M)$ satisfy $r_M(A)=1$. Suppose $K\in L(M)$ satisfies
\begin{align*}
B\subset K\subset A.
\end{align*}
If $K\ne B$, choose $e\in K\setminus B$. Then $r_M(\{e\})=1$, and the flat $A_e:=\operatorname{cl}_M(\{e\})$ satisfies
\begin{align*}
A_e\subset K\subset A.
\end{align*}
Since $A_e\subset A$ and both flats have rank $1$, the closure-rank criterion for matroids gives $A\subset \operatorname{cl}_M(A_e)$. Here the criterion says that if $X\subset Y$ and $r_M(X)=r_M(Y)$, then every element of $Y$ lies in $\operatorname{cl}_M(X)$. Because $A_e$ is already closed, $\operatorname{cl}_M(A_e)=A_e$. Hence $A\subset A_e$, so $A=A_e\subset K$, and therefore $K=A$. Thus no flat lies strictly between $B$ and $A$, and $A$ is an atom.
[/step]
[step:Express every flat as a join of atoms]
Let $F\in L(M)$. If $F=B$, then $F$ is the empty join of atoms, by the convention that the empty join in a lattice is the bottom element.
Assume now that $F\ne B$. Let $\mathcal A_F$ denote the set of atoms contained in $F$:
\begin{align*}
\mathcal A_F:=\{A\in L(M): A \text{ is an atom and } A\subset F\}.
\end{align*}
Let
\begin{align*}
U_F:=\bigcup_{A\in \mathcal A_F} A.
\end{align*}
The join of all atoms in $\mathcal A_F$ is
\begin{align*}
\bigvee_{A\in \mathcal A_F} A=\operatorname{cl}_M(U_F).
\end{align*}
Because every $A\in\mathcal A_F$ is contained in $F$ and $F$ is flat,
\begin{align*}
\operatorname{cl}_M(U_F)\subset F.
\end{align*}
For the reverse inclusion, let $e\in F$. If $e\in B$, then $e\in \operatorname{cl}_M(\varnothing)\subset \operatorname{cl}_M(U_F)$. If $e\notin B$, then $A_e:=\operatorname{cl}_M(\{e\})$ is a rank-one flat contained in $F$, hence an atom by the previous step. Thus $A_e\in\mathcal A_F$ and $e\in U_F\subset \operatorname{cl}_M(U_F)$. Therefore every $e\in F$ lies in $\operatorname{cl}_M(U_F)$, so
\begin{align*}
F\subset \operatorname{cl}_M(U_F).
\end{align*}
Hence
\begin{align*}
F=\bigvee_{A\in \mathcal A_F} A.
\end{align*}
Thus $L(M)$ is atomic.
[/step]
[step:Derive semimodularity from submodularity of matroid rank]
Define $\rho:L(M)\to \mathbb N\cup\{0\}$ by $\rho(F)=r_M(F)$ for every flat $F\in L(M)$. We first justify that this is the lattice rank function. If $A$ is an atom not contained in a flat $F$, then $A=\operatorname{cl}_M(\{e\})$ for some non-loop $e\in E$ with $e\notin F$. Since $F$ is closed, $e\notin \operatorname{cl}_M(F)$, so the matroid rank increases by one:
\begin{align*}
r_M(F\vee A)=r_M(\operatorname{cl}_M(F\cup A))=r_M(F\cup\{e\})=r_M(F)+1.
\end{align*}
Thus every cover obtained by adjoining an atom raises $\rho$ by one. Conversely, if $I=\{e_1,\dots,e_k\}\subset F$ is a matroid basis of $F$, then $k=r_M(F)$ and
\begin{align*}
F=\operatorname{cl}_M(I)=\bigvee_{i=1}^{k}\operatorname{cl}_M(\{e_i\}).
\end{align*}
Each $\operatorname{cl}_M(\{e_i\})$ is an atom by the previous step, so there is a chain from $B$ to $F$ of length at most $r_M(F)$. Along any strict chain of flats, the matroid rank increases by at least one at each cover and never exceeds $r_M(F)$ at the top, so no chain from $B$ to $F$ has length greater than $r_M(F)$. Hence the lattice rank of $F$ is exactly $\rho(F)=r_M(F)$.
We verify semimodularity. Let $F,G\in L(M)$. Matroid rank submodularity gives
\begin{align*}
r_M(F)+r_M(G)\ge r_M(F\cap G)+r_M(F\cup G).
\end{align*}
By the meet and join formulas already proved,
\begin{align*}
F\wedge G=F\cap G
\end{align*}
and
\begin{align*}
F\vee G=\operatorname{cl}_M(F\cup G).
\end{align*}
Since closure preserves matroid rank,
\begin{align*}
r_M(F\vee G)=r_M(\operatorname{cl}_M(F\cup G))=r_M(F\cup G).
\end{align*}
Substituting these identities into submodularity yields
\begin{align*}
\rho(F)+\rho(G)\ge \rho(F\wedge G)+\rho(F\vee G).
\end{align*}
This is the semimodular rank inequality.
[/step]
[step:Conclude that the flat lattice is geometric]
We have shown that $L(M)$ is finite, that every pair of elements has a meet and join, that $L(M)$ is atomic, and that its rank function $\rho(F)=r_M(F)$ satisfies the semimodular inequality. Therefore $L(M)$ is a finite atomic semimodular lattice, hence a geometric lattice. The rank function of this geometric lattice is precisely the matroid rank restricted to flats:
\begin{align*}
\rho(F)=r_M(F)
\end{align*}
for every $F\in L(M)$. This proves the theorem.
[/step]