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 (H1,H2)-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 (assuming P≠NP). We also find that Edge Steiner Tree is polynomial-time solvable for (H1,H2)-free graphs if and only if the treewidth of the class of (H1,H2)-free graphs is bounded (subject to P≠NP). To obtain the latter result, we determine all pairs (H1,H2) for which the class of (H1,H2)-free graphs has bounded treewidth.