  We consider the classical problems (Edge) Steiner Tree and Vertex Steiner
Tree after restricting the input to some class of graphs characterized by a
small set of forbidden induced subgraphs. We show a dichotomy for the former
problem restricted to $(H_1,H_2)$-free graphs and a dichotomy for the latter
problem restricted to $H$-free graphs. We find that there exists an infinite
family of graphs $H$ such that Vertex Steiner Tree is polynomial-time solvable
for $H$-free graphs, whereas there exist only two graphs $H$ for which this
holds for Edge Steiner Tree. We also find that Edge Steiner Tree is
polynomial-time solvable for $(H_1,H_2)$-free graphs if and only if the
treewidth of the class of $(H_1,H_2)$-free graphs is bounded (subject to P
$\neq$ NP). To obtain the latter result, we determine all pairs $(H_1,H_2)$ for
which the class of $(H_1,H_2)$-free graphs has bounded treewidth.
