My grid overlaps labels placed on a map.
Is there a way of forcing the labels to be displayed in front/on top and the grid placed behind the text?
Despite looking I cannot find a solution.
Using QGIS 2.18.15
Here is an effective workaround using visibility presets.
Name your new preset
Now go into your Composer window. Once Map 0 is positioned how you like it, duplicate it. There's no specific command for this, just copy and paste.
Follow visibility presetand select
Note that this solution only works as long as long as both maps are set to the same extent and scale. It's possible to have Map 1 obtain its extent/scale values from Map 0, but this may be more work than it's worth unless you plan to frequently adjust your map in the Composer window.
Another solution, maybe simpler, is to create your grid as a vector layer, using the "create grid" tool in the processing toolbox. You can then style it exactly as you want, and the labels will automatically go above it (and even avoid it if you want).