Faraz Shauketaly, 52, who holds dual British and Sri Lankan citizenship, was rushed to hospital after being shot in the neck.
A doctor who treated Faraz Shauketaly said the journalist was now out of danger.
Rights groups say more than a dozen media employees have been killed in Sri Lanka over the past decade.
None of the murders has been solved.
Faraz Shauketaly was on the phone to a colleague at the Sunday Leader on Friday evening at his home in Mount Lavinia when the call was cut.
Shortly afterwards he answered a call and said he had been shot in the neck by three intruders, who had then escaped.
A group of foreign lodgers at his house said he was covered in blood and calling for help.
Faraz Shauketaly was taken to intensive care, where doctors pronounced him out of danger and have been working to remove a bullet.
He had voiced fears that his investigative reporting might be putting him in danger, especially after strangers had called at his house recently asking for his whereabouts.
Four years ago, the Sunday Leader’s editor, Lasantha Wickrematunge, was shot dead by a group of masked men on motorbikes.
The case, which has never been solved, highlighted the dismal state of press freedom in the country, analysts said.
The Sunday Leader had long had a reputation for being outspokenly anti-government.
Its profile changed last year when it was bought by a well-connected businessman and retracted some of its articles, but it still does a considerable amount of investigative reporting.
Last month, Sri Lanka was placed 162nd out of 179 in a Press Freedom Index compiled by Reporters Without Borders.
The bald eagle has been officially declared the national bird of the United States, after…
Dozens of passengers have survived a crash involving a plane carrying 69 people in Kazakhstan,…
Millions of Americans are bracing for difficult weather conditions during the Christmas holiday, with storms…
The US House Ethics Committee has voted to release its report on former Republican Representative…
ABC News has agreed to pay $15 million to President-elect Donald Trump to settle a…
South Korea’s parliament has voted to impeach President Yoon Suk Yeol over his failed attempt…