Is there any way to add google search results into your site such that the results appear under your domain (and the page doesn't get redirected to google.com)? I know about google cse but this is not a free solution. Is paying for CSE the only way? Thanks.
Use the Google AJAX Search API (my emphasis):
The Google AJAX Search API lets you put Google Search in your web pages with JavaScript. You can embed a simple, dynamic search box and display search results in your own web pages or use the results in innovative, programmatic ways.
You just need JavaScript - nothing server-side.
What about this? http://code.google.com/apis/ajaxsearch/web.html And there should be even API for PHP etc.
I've never used this but if you're into python check out Python Library for Google Search from Peteris Krumins’ blog.
You could use Google Search API.
You could also query Google search engine through a Web Service. Here's the WSDL and here's the FAQ. But I think this will be discontinued in favor of the first suggestion I gave.