In a complex network connecting many devices, a set of nodes might be partitioned into multiple local clusters with different functions, properties, or communication protocols. Thus, there has been a rise in network design problems with additional constraints regarding the clustering of vertices, one of them being the Clustered Steiner Tree Problem - a variant of the Steiner Tree Problem. In the literature, there have been a few research working on this problem, but either they only solve it in a metric case, or their exploration capability is still limited. Therefore, their results are not actually good in many cases. To overcome the drawbacks, we propose a Priority-Based Genetic Algorithm to solve the Clustered Steiner Tree Problem. The proposed algorithm maintains a balance between exploration and exploitation to prevent the search from local optima. Experiments and comparisons to existing works in non-metric and metric cases are carried out deliberately to prove the remarkable performance of the proposed algorithm.