LM358 saturates the output

Try a 33 K resistor instead of the 150 K ..... and reduce the AC input voltage levels..... ie. make AC waveforms at the input smaller.

Or.... if you don't want to make the input AC signals smaller.... then make the 75K resistor smaller.

Circuit theory for ideal op-amps working in negative feedback mode - automatic equalisation of the voltages on its input + and - terminals. If you deliberately make the + terminal equal to roughly half the supply voltage... aka 7.5/2 .... or about 3.75 Volt, then that will lead to a DC level at the output. The basic op-amp tutorials usually teach this.

So if you then have any AC voltage at the output, then that AC will basically ride on the DC level. This means ... 3.75V DC will translate to the 'zero' Volt level of the AC signal. The AC signal will change above and below this 3.75V DC level. If you have the power supply limits... of 0V and 7.5V .... then 'ideal' case output would allow you to reach as high as 7.5V DC, and go as low as 0V DC. But...... for real op-amps, with component voltage drops and things like that inside the op-amp..... you might not be able to go as high as 7.5 V. Instead, you might be able to go as high as 6.5 V ... maybe. Depends on the op-amp.

In your case..... you made the DC level at the + terminal equal to 2V. Should change your system to make it around 3.75 Volt.