We consider the problem of computing non-crossing spanning trees in topological graphs. It is known that it is NP-hard to decide whether a topological graph has a non-crossing spanning tree, and that it is hard to approximate the minimum number of crossings in a spanning tree. We consider the parametric complexities of the problem for the following natural input parameters: the number k of crossing edge pairs, the number μ of crossing edges in the given graph, and the number of vertices in the interior of the convex hull of the vertex set. We start with an improved strategy of the simple search-tree method to obtain an O* (1.93k) time algorithm. We then give more sophisticated algorithms based on graph separators, with a novel technique to ensure connectivity. The time complexities of our algorithms are O* (2O(√k)), O* (μO(μ2/3)), and O*(2O(√)). By giving a reduction from 3-SAT, we show that the O*(2√k) complexity is hard to improve under a hypothesis of the complexity of 3-SAT.