Coexistence of enhanced mobile broadband and ultra-reliable low latency communication in 5G networks is a challenging problem due to the conflicting requirements. In this paper, we decompose the problem into eMBB and URLLC resource allocation phases. For the first phase we propose a heuristic algorithm with O(n) runtime and prove its efficiency and optimality under min–max fairness paradigm. For the URLLC resource allocation, the puncturing framework is adopted and a novel approach using the Graph Neural Networks is proposed to maximize eMBB data rates and fairness while minimizing URLLC outage probability. We show that the runtime of this GNN-based algorithm is also O(n). To train the GNN, an application-specific loss function is designed and empirically shown to be convergent. Our simulation results show that our proposed approach performs very well in terms of eMBB data rates, fairness, and URLLC outage probability in comparison to a number of thoughtfully chosen baselines. We also demonstrate that the proposed GNN is robust to changes in network topology and traffic volume. As we show our algorithm has O(n) runtime, it is fully practical for solving the resource allocation problem in the very short time spans that are required by 5G and future generation networks.