  The tensor product of highest weight modules with intermediate series modules
over the Virasoro algebra was discussed by Zhang [Z] in 1997. Since then the
irreducibility problem for the tensor products has been open. In this paper, we
determine the necessary and sufficient conditions for these tensor products to
be simple. From non-simple tensor products, we can get other interesting simple
Virasoro modules. We also obtain that any two such tensor products are
isomorphic if and only if the corresponding highest weight modules and
intermediate series modules are isomorphic respectively. Our method is to
develop a "shifting technique" and to widely use Feigin-Fuchs' Theorem on
singular vectors of Verma modules over the Virasoro algebra.
