In this paper, we construct a class of modules T over the Virasoro algebra by taking tensor products of the modules N(Ω(λ,b),V) defined in [24,19] and the irreducible modules defined in [31]. This provides a unified description of many known examples of Virasoro modules, for example, in [28,34,35,12,20,5]. We obtain the necessary and sufficient conditions for T to be irreducible and study their submodule structure when they are reducible. Then we also determine the conditions for two such modules to be isomorphic. In the last part of the paper, we compare the tensor product modules with other known Virasoro modules, concluding that they provide new simple modules in general, while admit some interesting isomorphisms with modules defined in [40] and [33].