Basically what hot asphalt said. I'm a 40+ hobby jobber and after sitting around 20:50 - 21:10 for a long time, I went under 20 for the first time this spring. After getting my base built (around 50 MPW for me, though I know most - especially younger - runners may get away with less), I spent around 10 weeks adding in speedwork.
I did a faster workout weekly, usually CV intervals (10 reps of 2' on / 1 off, or 7 reps of 3' on / 1' off, finally 5 reps at 4' on / 90sec off) but also did 5x and 6x 1000m near the end of my block.
My 2nd workout each week alternated between tempo work (working up to 4 miles continuous, which was around 28' flat for me, though I did do a 3x 2mile tempo once (with around 5min rest), and a long run (11-12 miles was all) with a faster finish (maybe down around marathon or even HM pace the last 2-3k).
I run 7 days a week, so my other 5 runs a week were super easy runs around 6-8 miles (50-70 minutes). 3 Q days a week beat be up a bit the couple weeks I tried it (between work, kids, and coaching kids sports), so I kept it to two Q days most weeks. Again, I'm pretty mediocre so I rely on higher mileage that most probably need to see similar times. If you're younger, you probably can do it under the 50-56 MPW I averaged to get there.