The Basel-based company said Wednesday that it had a net profit last year of 9.773 billion Swiss francs (US$10.57 billion) compared with 9.544 billion Swiss francs for 2011.
It credited the rise to the approval of the breast cancer medicine Perjeta and the weakening of the Swiss franc against the dollar and Japanese yen.
The world's biggest manufacturer of cancer drugs, which reports earnings only every six months, has in recent years battled against the strength of the Swiss franc.
In a statement before the opening of the Zurich exchange, Roche CEO Severin Schwan said "2012 was a very good year for Roche. We met our financial targets, grew faster than the market, and our strong pipeline positions us well for further growth."
The drug maker said its top-selling products Rituxan, Herceptin and Avastin all performed strongly in 2012 as demand grew in all regions. Genentech, which is owned by Roche, makes the three bestselling cancer drugs in the world.
Roche said the outlook for 2013 is for sales to grow in line with the previous year and for further increases in its dividend.
It posted an 11 per cent rise in 2012 core earnings per share, which rose to 13.62 Swiss francs ($14.74) compared to 12.30 francs a year ago.