Running magic consistently (and efficiently) in OSR+ requires a firm understanding of the design decisions surrounding spellcasting and spells in general. Much of this is outlined in the design principles of OSR+.
Spell Logic
Magic has its own logic that lets you reason your way to a ruling when the rules-as-written contain gaps.
sCALABILITY & aCCESSIBILITY
Spells are not gated by level—every spell is available to any type of spellcaster at character creation. Moreover, spells are scalable so that more powerful wizards could do crazier things given that they have more MP at their disposal.
wONDER, nOT uTILITY
Spells do not do damage directly; instead, they grant the spellcaster a temporary special ability. This is how we avoid 16 different versions of the spell Fireball. If you want to create a fireball in OSR+, you use the Fire maleficence.
No Instant Death
Spells do not cause instant death. Not because it's brutal, but because it's neither creative nor fun. In the same vein, spells that stun or otherwise incapacitate characters tend to last for a very short length of time, or allow victims to continually resist them, that way they can get back into the action quickly. This is mostly to solve for the "not-being-fun" aspect of stunning abilities: there's nothing worse than not being able to play the game when you're playing the game.
No Fighter Mages
Spellcasters are never as good at physical combat as non-spellcasters, and non-spellcasters are never as good at magic as spellcasters.
Wonder, Not Utility
Spells always allow the spellcaster to do something supernatural.
Spells also generally do not provide purely mechanical bonuses, because mechanical bonuses are not wondrous.
Those that do (take Enchant Weapon, for example) are designed with the wondrous moment of their use in mind—take the scene in the TV version of Game of Thrones where Melisandre sets aflame the weapons of an army in the dark.