For background, I run an online session with people spanning an eight hour time difference. Our scheduling is generally a mess and we vary between 45 minute and 4 hour sessions depending on the day. I've picked up a few tricks to help things move more smoothly.
A lot of time in-game is spent having either in- or out-of-character discussions about what your next move is going to be. Encourage your players to discuss their options outside of your games (maybe set up a chat or text group between them all) so they walk into each session with a plan ready to go, and only have to spend three minutes explaining it to you instead of thirty five figuring it out.
Your players should be aware of the time crunch as keenly as you are. Ask for some small sacrifices in their play styles to make the whole game go more smoothly. Maybe your sorcerer needs to study his spells for a couple days until he can make snap decisions on the fly, or your fighter could use flashcards so she knows what attacks she can make.
Basically, encourage your players to find shortcuts in how they play to match the shortcuts you'll be taking. This kind of ties into the plan ahead step above, but is more about players knowing what they can and can't do like the back of their hands.
Be prepared to end early
I've learned to spot good (and sometimes just decent) stopping points and grab them, even if it is a little earlier than our time slot should be ending. Better to end on a high note than get interrupted in the middle of a good scene.
For example, if you're about to infiltrate a hideout and you only have 5mins left in your lunch period, call it quits before they start to enter. No point getting halfway down the first hallway just to have to pause, and you can use the extra five minutes to have them plan their angle of attack for tomorrow instead.
If you know you only have 10 minutes left and they're mid-boss-fight, there's no harm in quietly knocking off 10% of the big baddie's health, or letting him go down if one of your players manages a particularly spectacular roll.
Similarly, you can always have minions escape instead of fighting to the last drop of HP. It's easy to shave a minute or two off your play time just by making the world bend to your PC's wishes. Done carefully and silently enough, they won't even notice that you're fudging things.
If your sessions are anything like mine, you'll spend at least five minutes at the beginning recapping what happened last time and fielding questions from your less attentive players. Move this process away from the table and you'll get your five minutes back.
Take a bit of time after each session to write up a couple sentences about what happened, and post it to your group chat. Then your players can read up on it before they get to the table and you can skip the live recap.
Skip the lines; shop online
Some groups may love to roleplay the shopping experience, but if your party is in the take it or leave it camp, this can be a great way to save time. Instead of painstakingly letting each player play through buying / selling / identifying everything each time they hit a town, end the session and take the deals online.
Try to time your shopping sprees to start at the end of your session, then tell everyone to text you their to-do lists. You can work through them one-on-one and get everyone squared away before the next session.
Now this requires two things; they need to trust you'll do right by them, and because of that sometimes you'll need to just say yes. If they say they'd barter for the potion, give them a (reasonable) discount. If they're trying to find a specific type of mirror, agree that they've found it (unless you have really good reason not to) and hash out the price.
This does mean that you can't hide any plot points in their shopping adventure, but it can be a small price to pay for the time you win back.