Finding ways to overcome the temptation to exploit one another is still a challenge in behavioural sciences. In the framework of evolutionary game theory, punishing strategies are frequently used to promote cooperation in competitive environments. Here, we introduce altruistic punishers in the spatial public goods game. This strategy acts as a cooperator in the absence of defectors, otherwise it will punish all defectors in their vicinity while bearing a cost to do so. We observe three distinct behaviours in our model: i) in the absence of punishers, cooperators (who dont punish defectors) are driven to extinction by defectors for most parameter values; ii) clusters of punishers thrive by sharing the punishment costs when these are low iii) for higher punishment costs, punishers, when alone, are subject to exploitation but in the presence of cooperators can form a symbiotic spatial structure that benefits both. This last observation is our main finding since neither cooperation nor punishment alone can survive the defector strategy in this parameter region and the specificity of the symbiotic spatial configuration shows that lattice topology plays a central role in sustaining cooperation. Results were obtained by means of Monte Carlo simulations on a square lattice and subsequently confirmed by a pairwise comparison of different strategies payoffs in diverse group compositions, leading to a phase diagram of the possible states.