Orthogonal frequency division multiplexing (OFDM) multihop system is a promising way to increase capacity and coverage. In this paper, we propose an optimally joint subcarrier matching and power allocation scheme to further maximize the total channel capacity with the constrained total system power. First, the problem is formulated as a mixed binary integer programming problem, which is prohibitive to find the global optimum in terms of complexity. Second, by making use of the equivalent channel power gain for any matched subcarrier pair, a low complexity scheme is proposed. The optimal subcarrier matching is to match subcarriers by the order of the channel power gains. The optimal power allocation among the matched subcarrier pairs is water-filling. An analytical argument is given to prove that the two steps achieve the optimally joint subcarrier matching and power allocation. The simulation results show that the proposed scheme achieves the largest total channel capacity as compared to the other schemes, where there is no subcarrier matching or no power allocation.