Combustion that generates no gas?
There are many reactions that do this. The simplest way is to substitute any other reactive metal for magnesium: aluminium, lithium, sodium, etc. All will burn in oxygen to give solid products / oxides.

This can be extended by using any of these metals and other reactive non metals, such as fluorine, chlorine, etc. in Group VII or sulphur, etc. in Group VI. Do not try it with $\ce{Se}$ or $\ce{Te}$ in combination with aluminium, however, as it is near-explosive and forms toxic gas on hydrolysis.

A simple experiment that does this is the reaction of sulphur with iron filings.