Soft constrained model predictive control (MPC) is frequently applied in practice in order to ensure feasibility of the optimization during online operation. Standard techniques offer global feasibility by relaxing state or output constraints, but cannot ensure closed-loop stability. This paper presents a new soft constrained MPC approach for tracking that provides stability guarantees even for unstable systems. Two types of soft constraints and slack variables are proposed to enlarge the terminal constraint and relax the state constraints. The approach ensures feasibility of the MPC problem in a large region of the state space, depending on the imposed hard constraints, and stability is guaranteed by design. The optimal performance of the MPC control law is preserved whenever all state constraints can be enforced. Asymptotic stability of all feasible reference steady-states under the proposed control law is shown, as well as input-to-state stability for the system under additive disturbances. The soft constrained method can be combined with a robust MPC approach, in order to exploit the benefits of both techniques. The properties of the proposed methods are illustrated by numerical examples.