A general commutation theorem is proved for tensor products of von Neumann algebras over common von Neumann subalgebras. Roughly speaking, if the non-common parts of two von Neumann algebras M1 and M2 on the same Hilbert space are appropriately separated by commuting type I von Neumann algebras N1 and N2, then the commutant of the von Neumann algebra generated by M1 and M2 is generated by the relative commutants M′1∩N1 and M′2∩N2, as well as by the intersection of the commutants of all concerned von Neumann algebras. This theorem extends both Tomita's classical commutation theorem and a splitting result in tensor products, proved recently in the factor case by L. Ge and R. V. Kadison. Applications are given to a decomposition criterion in ordinary tensor products and to a partial solution of a conjecture of S. Popa concerning the maximal injectivity of tensor products of maximal injective von Neumann subalgebras.