Let $G$ be a bipartite graph with bipartition $(A,B)$. Suppose $G$ satisfies Hall's condition. We need to show $G$ has a complete matching from $A$ to $B$.
Form a directed graph from $G$ by adding a source vertex $s$, sink vertex $t$, joining $s$ to each vertex in $A$ and joining each vertex in $B$ to $t$. Assign each vertex in $A \cup B$ a capacity of $1$. In this digraph, the maximum flow from $s$ to $t$ is equal to the maximum number of independent edges in $G$ and hence is equal to the maximum size of a matching in $G$. We need to show this value is $|A|$. A min cut in the digraph is a set of vertices of the form $T_1 \cup T_2$ where $T_1 \subseteq A, T_2 \subseteq B$. To show that the max flow value is $|A|$, by the max flow min cut theorem it suffices to show that the min cut has value $|A|$. It's clear the min cut has size at most $|A|$ since $A$ is a cut.
Let $S_1 = A-T_1$ and $S_2 = B-T_2$. Since $T_1 \cup T_2$ is a cut, there are no edges in $G$ from $S_1$ to $S_2$. Hence, all the neighbors of $S_1$ are in $T_2$. If the min cut has size less than $|A|$, then $|T_1|+|T_2| < |A|$, and since $|T_1|+|S_1|=|A|$, we have $|T_2| < |S_1|$, which violates Hall's condition. Hence, the min cut has size equal to $|A|$. This proves that the maximum flow value is equal to $|A|$. This implies that $G$ has $|A|$ independent edges.