Your basic approach is OK...a linear buffer stage accepting an input signal, followed by discrete transistor NPN/PNP current amplifier of type Class-B.
If you're new to this kind of design work, best to approach it in small steps. Eventually, you can push this basic approach to a full Class AB high-quality amplifier with gain, and overall feedback.
1st step: simple gain-of one Class B
Here, the op-amp is used as a simple buffer. Gain of +1. Local feedback only. The NPN/PNP transistor pair allows significant current gain, but has slightly less-than-1 voltage gain. This design yields significant cross-over distortion, but is otherwise reasonably linear. If you use 9V batteries, a simple Thevenin battery model is used: Vt=9V, Rt=2 ohms. Be aware that those 2-ohm resistors are not to be added to your circuit.
A generic LM741 opamp is shown. There are better choices. Be careful to choose an opamp that allows high DC supply voltages (many have a limited supply range). A better choice would be one allowing rail-to-rail output swing...you'd like output voltage to be able to approach +9V on its positive swing, and also approach -9V on its negative swing when you increase signal amplitude. The Zobel network is not shown for simplicity:
simulate this circuit – Schematic created using CircuitLab
2nd step: overall gain-of-one feedback
Looks similar, but the overall circuit feedback has a subtle result: crossover distortion from the Class-B output transistors is much-reduced by the op-amp. Voltage gain should now be very close to +1.0. This can actually be an acceptable circuit operating at low input frequencies. At higher frequencies, many opamps slew too slowly to properly adapt to the cross-over glitch:
simulate this circuit
There are other ways to deal with cross-over distortion. Every one involves separating the bases of Q1 and Q1 with a DC bias voltage. This is risky, because you can add too much DC bias, which tends to overheat those two transistor with shoot-through current that is wasted (doesn't flow through the load).
Adding bias moves the output stage from straight Class-B to Class AB, and is an advanced step (not going to address it here). It is risky because most bias circuits need to be temperature-compensated. Those transistors often run hot.