You've got most of the pieces you need: we also use that the union of all left cosets of H in G IS G. Now we just put the pieces together:
Let $H\le G$, $|G| = n$, and let $|H| = m$.
Since every coset (left or right) of a subgroup $H\le G$ has the same number of elements as $H$, we know that every coset of $H$ also has $m$ elements. Let $r$ be the number of cells in the partition of G into left cosets of $H$ (because the union of the left cosets of $H$ in $G$ is $G$, and these cosets are disjoint, they partition $G$).
Then $n = rm$: i.e., $|G| = (G:H)\cdot |H|$, so $m = |H|$ is indeed a divisor of $n = |G|$.
To elaborate on how relates to Lagrange's theorem:
$\text{For}\;\; H\le G, \;G\;\text{ finite}: |G| = |H| \cdot (G:H) \implies \dfrac{|G|}{|H|} = (G:H) = r,\;\; r\in \mathbb{N}.$
So $|H|$ divides $|G|$, since the index is the number of left cosets of $H$ in $G$ and is hence an integer, say $ (G:H) = r \ge 1$.
Alternatively, let $(G:H) = r,\;\; r \ge 1\in \mathbb{N}$. Then $|G| = r\cdot|H|$. That is, $|G|$ is an positive integer multiple of $|H|$, so $|H|$ divides $|G|$, for $G$ of finite order $n$.