The Virasoro algebra \mathcal {L} is an infinite-dimensional Lie algebra with basis {Lm, C| m ∈ ℤ} and relations [Lm, Ln] = (n − m)Lm+n + δm+n,0((m3 − m)/12)C, [Lm, C] = 0 for m, n ∈ ℤ. Let \mathfrak a be the subalgebra of \mathcal {L} spanned by Li for i ≥ −1. For any triple (μ, λ, α) of complex numbers with μ ≠ 0, λ ≠ 0 and any non-trivial \mathfrak a-module V satisfying the condition: for any v ∈ V there exists a non-negative integer m such that Liv = 0 for all i ≥ m, non-weight \mathcal {L}-modules on the linear tensor product of V and ℂ[∂], denoted by \mathcal {M}(V,\mu ,\Omega (\lambda ,\alpha ))\ (\Omega (\lambda ,\alpha )=\mathbb {C}[\partial ] as vector spaces), are constructed in this paper. We prove that \mathcal {M}(V,\mu ,\Omega (\lambda ,\alpha )) is simple if and only if μ ≠ 1, λ ≠ 0, α ≠ 0. We also give necessary and sufficient conditions for two such simple \mathcal {L}-modules being isomorphic. Finally, these simple \mathcal {L}-modules \mathcal {M}(V,\mu ,\Omega (\lambda ,\alpha )) are proved to be new for V not being the highest weight \mathfrak a-module whose highest weight is non-zero.