It is a well known dictum:
The only way to learn mathematics is to do mathematics.
I would make it a bit more sharp:
The only way to learn maths is to use it for learning more advanced maths.
This is because to learn mathematics, we have to use it, and the is no more challenging and more stimulating use of mathematics than learning the next level, more advanced
As a corollary we get The Law of Supernumerary Learning of Mathematics:
To be able to use mathematics at a certain level you have to learn it at the next level.
The law has an obvious empirical confirmation: graduates of mathematics departments of British Universities (BSc or MMath Degree) are hired by banks and insurance companies to do office jobs that require high school level mathematical skills. When big employers really need university level mathematical skills, they advertise for people with MSc or PhD in mathematically intensive disciplines.
In respect of teaching of mathematics, The Law of Supernumerary Learning of Mathematics implies that middle- and high school mathematics teachers should have an university degree in mathematics or mathematically intensive discipline, and primary school teachers
— at least good middle school level (such as GCSE) or high school level education in mathematics.