As long as your matlab is giving you just the real and imaginary output of the FFT calculations the output should look very similar. If Matlab is giving you a Magnitude plot. You need to calculate the magnitude of the output. But looking at your "Real" output, it looks like something is broken.
Here's what I would check:
1: Check your warnings. Make sure the FFT core is finding the twiddle ROM files. (Sin/cos lookup tables). If it doesn't find these files, the outputs will be incorrect.
2: Make sure your Avalon streaming interface is working properly. (You should be able to check the "error" output and it should ALWAYS be zero. If this is not the case, the outputs will be incorrect.
Here's some other general questions to answer that may help pinpoint the issue.
What size of FFT are you running? (how many points?)
What version of Quartus are you using?
Was the FFT core generated with the same version of Quartus?
Have you simulated the core? in Verilog/VHDL?
Pete