Consider the multi-user downlink beamforming problem where the base station transmits data to its intended mobile stations. Both the base stations and the users are equipped with multiple antennas. The objective of beamforming is to minimize the power consumption in the network while satisfying the users' SINR constraints. Based on the analysis of the KKT conditions of the problem, we propose a low complexity iterative algorithm that computes a local minimum of the optimization problem. The numerical experiments show that the proposed algorithm is efficient in achieving low power consumption while satisfying the QoS constraints. Our numerical experiments indicate that, unlike many existing algorithms, the proposed method can be initialized from infeasible points. Moreover, our theoretical analysis shows that the algorithm monotonically converges to a KKT point of the problem.