Communication at millimeter wave (mmWave) bands is expected to become a key ingredient of next generation (5G) wireless networks. Effective mmWave communications require fast and reliable methods for beamforming at both the User Equipment (UE) and the Base Station (BS) sides, in order to achieve a sufficiently large Signal-to-Noise Ratio (SNR) after beamforming. We refer to the problem of finding a pair of strongly coupled narrow beams at the transmitter and receiver as the Beam Alignment (BA) problem. In this paper, we propose an efficient BA scheme for single-carrier mmWave communications.In the proposed scheme, the BS periodically probes the channel in the downlink via a pre-specified pseudo-random beamforming codebook and pseudo-random spreading codes, letting each UE estimate the Angle-of-Arrival / Angle-of-Departure (AoA-AoD) pair of the multipath channel for which the energy transfer is maximum. We leverage the sparse nature of mmWave channels in the AoA-AoD domain to formulate the BA problem as the estimation of a sparse non-negative vector. Based on the recently developed Non-Negative Least Squares (NNLS) technique, we efficiently find the strongest AoA-AoD pair connecting each UE to the BS. We evaluate the performance of the proposed scheme under a realistic channel model, where the propagation channel consists of a few multipath scattering components each having different delays, AoAs-AoDs, and Doppler shifts. The channel model parameters are consistent with experimental channel measurements. Simulation results indicate that the proposed method is highly robust to fast channel variations caused by the large Doppler spread between the multipath components.Furthermore, we also show that after achieving BA the beamformed channel is essentially frequency-flat, such that single-carrier communication needs no equalization in the time domain.