We introduce and study the general problem of finding a most "scale-free-like" spanning tree of a connected graph. It is motivated by a particular problem in epidemiology, and may be useful in studies of various dynamical processes in networks. We employ two possible objective functions for this problem and introduce the corresponding algorithmic problems termed m-SF and s-SF Spanning Tree problems. We prove that those problems are APX-and NP-hard, respectively, even in the classes of cubic, bipartite and split graphs. We study the relations between scalefree spanning tree problems and the max-leaf spanning tree problem, which is the classical algorithmic problem closest to ours. For split graphs, we explicitly describe the structure of optimal spanning trees and graphs with extremal solutions. Finally, we propose two Integer Linear Programming formulations and two fast heuristics for the s-SF Spanning Tree problem, and experimentally assess their performance using simulated and real data.