Cross layer optimization for relay assisted wireless communication is important as it caters for parameters in more than one layer thereby a more holistic insight to the performance of proposed algorithms is realised. Due to the nature of the wireless channel, the availability of perfect channel state information may not be guaranteed. Moreover for relay selection algorithms, where mobile user equipment are used as relays, optimizing a relay defined utility can motivate relaying. This work proposes a cross layer stable matching based relay selection algorithm for relay assisted device-to-device communication. The cross layer parameter defined by this work is a function of data rate at the physical layer and queueing state information at the media access control sub-layer. The selection problem is modelled as an optimization problem for which stable matching is used to suitably allocate relay-enabled user equipment to source-destination pairs. To evaluate the performance of the proposed algorithm, spectral efficiency, energy efficiency and fairness were used as performance metrics. The proposed cross layer algorithm was compared with the best source-relay selection algorithm, best relay-destination selection algorithm and a random selection algorithm. Unlike other works, our proposed algorithm is channel uncertainty aware. The proposed cross layer selection algorithm was shown through simulations to offer improved spectral efficiency performance of 16% over the random selection algorithm. Furthermore, there was a fairness improvement of 0.01 and 0.02 over the best source—relay and the best relay—destination selection algorithms respectively.