In this paper, we combine polar codes and Grassmannian constellations together using multilevel polar coding to create a system that produces the best known performance for a coded noncoherent channel. This combination requires that the signal constellation be set partition labelled, so, a novel set partitioning algorithm, which works for regular and irregular multidimensional constellations, such as the Grassmannian constellation, is proposed. Finally, we develop a methodology for designing polar codes for a noisy channel and this is used to further improve the performance of our system. In simulation, we compare the error rate performance of our design with that of existing schemes and show that significant gains are possible over the previously known best technique. We then provide a complexity analysis of our receiver in comparison with other existing methods and show that it is able to provide these gains at a considerably lower complexity.